我想隐藏php扩展所以写了
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
我想强制将www重定向到非www,所以我写了htaccess代码
RewriteBase /
#Force non-www:
RewriteCond %{HTTP_HOST} www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
它很好地将www重定向到非www版本 但不是完美的, 当我输入网址 www.something.com 时,它会重定向到 something.com 但在给网址 www.something.com/test 时,它会重定向到 something.com/test.php
当我正在输入网址 www.something.com/example?id=1 时,它会重定向到 something.com/example.php?id=1
如何将 www.something.com/test 重定向到 something.com/test ,而不是在重定向后显示php扩展程序。
答案 0 :(得分:1)
如果重定向规则出现在.php 重写规则之后,则问题在于重写网址被重定向。即:
www.example.com/test
重写为www.example.com/test.php
。example.com/test.php
。通过在[L]
之后添加RewriteRule ^(.*)$ $1.php
,将您的重定向规则移到其他规则之上,或停止处理其他规则。