从asp重定向到php无法正常工作

时间:2016-09-22 18:51:28

标签: .htaccess mod-rewrite url-redirection

我正在尝试将所有asp文件重定向到php文件。此时参数丢失无关紧要。我尝试了下面的代码来完成这个。但它似乎被忽略了。如果asp页面为default.asp,则该URL将被重写为default.php,而该页面不存在。

我想知道服务器上是否有什么东西覆盖了我的命令或命令是否错误?

RewriteRule ^.asp$ /index.php [R=301,L,QSA]

2 个答案:

答案 0 :(得分:1)

您在URL匹配模式的两端都使用了锚点。 ^标记开头,$标记结束。由于您只想匹配以.asp结尾的网址,因此只使用$

RewriteRule \.asp$ /index.php [R=301,L,QSA]

答案 1 :(得分:0)

您正在寻找的规则是:

# Does the file exist?
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
# If so, rewrite the request
RewriteRule ^/?(.*)\.asp$ /$1.php [R=301,QSA]

^ /?因为它不能从上下文中清楚地知道你是在主配置中还是在.htaccess文件中执行此操作。我认为.htaccess因为你已经使用过那个标签,但是,为了确定。