我的网站上有一个论坛,需要重定向奇怪的生成网址。
每个网址都包含?id=
,例如:
https://www.example.com/forum/topic/casualthread/page/25?id=casualthread
我需要删除?id=
及其后的所有内容才能拥有:
https://www.example.com/forum/topic/casualthread/page/25
我正在尝试修改我在Stackoverflow上找到的代码,结果非常稀少:
RewriteEngine On
RewriteBase /
# Make sure there is a query string
RewriteCond %{QUERY_STRING} .
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /?id= [R=301,L]
我正在编辑的htaccess文件位于论坛目录中: https://www.example.com/forum/
并将所有内容重定向到主页https://www.example.com:我做错了什么?
答案 0 :(得分:3)
您可以使用此
RewriteEngine on
RewriteCond %{QUERY_STRING} id=
RewriteRule ^ %{REQUEST_URI}? [L,R]
答案 1 :(得分:0)
由于不仅id
,而且查询字符串中可能还存在其他一些参数,请使用:
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.*)(^id=[^&]*&?|&id=[^&]*)(.*)$
RewriteRule ^(.+) /$1?%1%3 [R=301,L]