我已经设置了删除php扩展的规则我现在想要将带有php扩展名的url重定向到没有php扩展名的url
EX:mysite.com/test.php redirect to mysite.com/test
mysite.com/test.php? redirect to mysite.com/test?
mysite.com/test.php# redirect to mysite.com/test#
我有很多php页面,所以我想要一个所有页面的规则,我的php页面也生成动态URL。
由于
答案 0 :(得分:0)
我假设您使用的是Apache,
您可以使用以下内容;
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php [NC,L]
并确保上述规则,如果文件不存在,将回复404,或者它是一个目录。
当您输入domain.com/tes
时,这将在后端执行domain.com/test.php
。
如果您想在用户使用domain.com/test.php
到domain.com/test
时重定向用户,可以使用;
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.+?)\.php[\s?] [NC]
RewriteRule ^ /%1/ [R=301,L,NE]
答案 1 :(得分:-1)
如果是Apache,那么在Apache设置的虚拟主机目录中,您需要添加以下代码
Options Indexes FollowSymLinks MultiViews
然后重新启动Apache,在这种情况下,您不必重定向每个页面