我正在尝试将所有asp文件重定向到php文件。此时参数丢失无关紧要。我尝试了下面的代码来完成这个。但它似乎被忽略了。如果asp页面为default.asp
,则该URL将被重写为default.php
,而该页面不存在。
我想知道服务器上是否有什么东西覆盖了我的命令或命令是否错误?
RewriteRule ^.asp$ /index.php [R=301,L,QSA]
答案 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因为你已经使用过那个标签,但是,为了确定。