你好,我在这里遇到了问题。我正在寻找解决方案,但没有找到解决方案...... 所以我的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重定向到新的?
答案 0 :(得分:0)
在RewriteEngine On
行下方,添加以下内容:
RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /index\.php\?page=([^&\ ]+)&?([^\ ]*)
RewriteRule ^ /%2?%3 [L,R=301]
这将检查/index.php
的实际请求(而不是请求URI),并提取页面参数的值,然后将浏览器重定向到参数值的URI(追加)任何剩余的查询字符串)。这会将浏览器的网址栏中的内容更改为不包含/index.php
的网址。