0

你好我这里有问题。我正在寻找解决方案,但没有找到解决方案...所以我的 htacess 文件

RewriteEngine On


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?page=$1 [QSA]

它将我的网址更改为漂亮的网址,例如 www.example.com/index.php?page=xxx 到 www.example.com/xxx 所以它可以工作,但问题是我可以从这两个网址访问同一个页面。所以它就像来自谷歌不同网址的相同内容。如何进行从旧链接到新链接的 301 重定向?

4

1 回答 1

0

在该行的正下方RewriteEngine On,添加以下内容:

RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /index\.php\?page=([^&\ ]+)&?([^\ ]*)
RewriteRule ^ /%2?%3 [L,R=301]

这将检查实际请求(而不是请求 URI)/index.php并提取页面参数的值,然后将浏览器重定向到参数值的 URI(将任何剩余的查询字符串附加到它)。这会将浏览器的 URL 地址栏中的内容更改为不带/index.php.

于 2013-03-21T10:49:29.357 回答