我在这里缺少一些东西: Remove .php extension with .htaccess
我的目标:
将所有内容从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扩展?
答案 0 :(得分:0)
我不确定原因,它使用以下代码。
来自@ Panama-jack的建议非常强烈:在设置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]