5

我的 .htaccess 文件如下:

Options -Multiviews
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php

我遇到的问题是,当我尝试在没有 www 的情况下访问我的网站时。前缀,.php 扩展名被添加到地址,这通常会导致问题。例如,如果我尝试使用地址 example.com 访问我的主页,该地址将转换为 www.example.com/.php。我要万维网。要添加,但最后添加的 .php 扩展名只会导致错误。我该如何解决?

4

2 回答 2

1

RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

去掉 中的 L [R=301,L],表示“Last”,表示“在此之后停止处理 RewriteRules”。

301 也意味着“永久重定向”。在这种情况下,您的浏览器会记住永久重定向。您是否有可能拥有一个版本的重写规则,转到您的 URL,然后更改它?清除缓存或尝试其他浏览器。

于 2012-06-20T17:03:06.803 回答
0

文件第 4 行的“L”标志表示“最后一个”,即不再处理任何规则。尝试删除 L。

于 2012-06-20T17:05:08.820 回答