这里缺少一些东西:使用.htaccess删除.php扩展
我的目标:
将所有内容从www重定向到非www
.htaccess中的当前代码
RewriteEngine on
Options -Indexes
RewriteBase /
RewriteCond %{HTTP_HOST} ^www'.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ /$1.php [L]
当前行为:
将所有内容从www重定向到非www,但在URI中添加php文件扩展名".php"(php文件确实存在)
例如:
www.example.com/hello
重定向到
example.com/hello.php
我应该怎么做才能避免URI中的php扩展?
我真的不确定为什么,它使用以下代码。
@Panama jack的建议很有力:在设置所有301之前,在处理htaccess规则时使用302确实是一种方法。
RewriteEngine on
Options -Indexes
Options -Multiviews
RewriteBase /
RewriteCond %{HTTP_HOST} ^www'.(.*)$ [NC]
RewriteRule ^(.*)$ http://iPutMyWholeUrlHere.com/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ /$1.php [L]