当前位置: 首页 > 知识库问答 >
问题:

htaccessapache重写规则。asp到。php

云航
2023-03-14

我试图使用重写规则在htaccess永久重定向

http://www.example.com/store/scripts/prodView.asp?idproduct=240

http://www.example.com/index.php?route=product/product

我曾经尝试过:

选项如下符号链接

重新启动发动机

RewriteCond%{QUERY_STRING}^idproduct=240$[NC]

重写规则^store/scripts/prodView。asp$索引。php\?路线=产品/产品\

.htaccess位于根目录中

有人能告诉我哪里出了问题吗?非常感谢。

共有2个答案

朱欣荣
2023-03-14

我在克罗斯的帮助下解决了这个问题,虽然我不知道问题的全部原因。

在我最初的问题中,为了简洁、相关和清晰,我省略了一些位于我正在编写的代码上方的重写规则代码。此代码由购物车软件提供。

因此,重写规则代码的总数为:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /

RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]

#my code start
RewriteCond %{QUERY_STRING} ^idproduct=240$ [NC]
RewriteRule ^store/scripts/prodView\.asp$ index.php?route=product/product\&path=59\&product_id=50 [L,NC,R=301]
#my code end

下面的问题让我思考“为什么我的代码被忽略了?”。因此,我把我的代码放在购物车的重写规则代码之上,现在它可以工作了,尽管我不明白为什么其他代码会干扰我的代码。

现在有效的代码是:

Options +FollowSymlinks
RewriteEngine On

RewriteBase /

#my code start
RewriteCond %{QUERY_STRING} ^idproduct=240$ [NC]
RewriteRule ^store/scripts/prodView\.asp$ index.php?route=product/product\&path=59\&product_id=50 [L,NC,R=301]
#my code end

#original code
RewriteRule ^sitemap.xml$ index.php?route=feed/google_sitemap [L]
RewriteRule ^googlebase.xml$ index.php?route=feed/google_base [L]
RewriteRule ^download/(.*) /index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
#original code

我想我已经回答了我的问题,但是得到了克罗地亚人的帮助。我很抱歉在最初的问题中遗漏了一些重要的信息

华甫
2023-03-14

尝试:

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{QUERY_STRING} ^idproduct=240$ [NC]
RewriteRule ^store/scripts/prodView\.asp$ index.php?route=product/product\&path=59\&product_id=50 [L,NC,R=301]

没有\?在重写规则url

 类似资料:
  • dml2select Description:将数据库更新请求转换为只读查询请求,便于执行EXPLAIN Original: DELETE FROM film WHERE length > 100 Suggest: select * from film where length > 100 star2columns Description:为SELECT *补全表的列信息 Original:

  • 规则包含两个部分,一个是依赖关系,一个是生成目标的方法。 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这 个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标 可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那么 ,第一个目标会成为最终的目标。

  • 规则包含两个部分,一个是依赖关系,一个是生成目标的方法。 在Makefile中,规则的顺序是很重要的,因为,Makefile中只应该有一个最终目标,其它的目标都是被这个目标所连带出来的,所以一定要让make知道你的最终目标是什么。一般来说,定义在Makefile中的目标可能会有很多,但是第一条规则中的目标将被确立为最终的目标。如果第一条规则中的目标有很多个,那么,第一个目标会成为最终的目标。mak

  • 我有个问题。 有一个自定义mvc结构,当它是根文件夹时,一切都通过.htaccess中的RewriteRule工作,但如果我将它设置为子文件夹,它将停止工作。 .htaccess是 重写引擎在 重写条件%{REQUEST_FILENAME}-重写cond%{REQUEST_FILENAME}-d RewriteRule^(.*)$index.php?route=$1[L,QSA] AddDefau

  • 我已经安装了WordPress在example.com.我还安装了CodeIgniter在文件夹这里,是文件夹名称,是控制器名称和CI的工作URL是。我的基本URL以https://开头。 现在我有一个WordPressURL,是我在WordPress admin中创建的页面,工作正常。 我想像一样运行我的CI路径,我想我们可以用一些重写规则来做,这样我的网址看起来就像。我已经添加了给定的为wor

  • 我有一个客户在他们的网站上有一个重写规则,使用404和SSL与https:但它总是重写为“www.mywebsite”。com'。他们希望它没有www。每当我试图修改规则时,代码就会因“太多重定向”而中断 这是旧的. htaccess规则 我试图删除上面的“www”,但当我这样做时,你会得到一个错误-无休止的重定向。 目标是一个简单的重写规则,允许所有重定向和404错误转到https://mywe