请帮忙,有些网站会随意向我的主页添加动态查询字符串。
例如我的主页是www.mysite.com/index.php,它们链接到许多链接:
www.mysite.com/index.php?a=something-something-something
www.mysite.com/index.php?a=something-other
www.mysite.com/index.php?a=some-other-thing
这些链接在我的网站上打开,页面内容对于每个页面都是相同的,就像我原来的www.mysite.com/index.php
指向我网站的链接数百个。所以我如何重定向这个:
www.mysite.com/index.php?a=something-something-something
www.mysite.com/index.php?a=something-other
www.mysite.com/index.php?a=some-other-thing
...
到
www.mysite.com/index.php
或仅www.mysite.com/
这是我迄今为止在.htaccess文件中尝试的内容
RedirectMatch 302 ^index.php?a= http://www.www.example-ste.com/
RewriteRule ^/index.php?a=(.*) http://www.example-ste.com/
但仍在网站上开放网页。
另一个类似的问题。
如何将以“?pagewanted = all ”结尾的网页重定向到同一页但没有“?pageswanted = all”
例如,我需要重定向页面:
www.mysite.com/something-something/something.html?pagewanted=all
到
www.mysite.com/something-something/something.html
您好。
我刚注意到了一些事情。我需要URL重定向规则,它将重定向页面,如:
www.mysite.com/index.php?a=something-something-something
www.mysite.com/index.php?a=something-other
www.mysite.com/index.php?a=some-other-thing
到站点的主页,root。你给了我这段代码:
RewriteEngine On
RewriteBase /
#if the query string has an a parameter
RewriteCond %{QUERY_STRING} (^|&)a= [NC]
#Redirect and remove query string parameters
RewriteRule .* http://www.mysite.com/? [R=301,L]
我必须说它工作正常,它就是这样,但我只是注意到它以某种方式阻止或重定向包含?a=
的所有链接,例如在我有链接的一些临时页面上:
i.php?a=something-something-something
那么,您是否可以为基于index.php的页面采用代码,如:
www.mysite.com/index.php?a=something-something-something
而不是链接:
i.php?a=something-something-something
如果我是对的,它适用于所有带有“a=
”的链接,但我只需要“index.php?a=
”
答案 0 :(得分:4)
尝试将folloginw添加到.htaccess文件的顶部
RewriteEngine On
RewriteBase /
#if the query string has an a parameter
RewriteCond %{QUERY_STRING} (^|&)a= [NC]
#Redirect and remove query string parameters
RewriteRule .* http://www.mysite.com/? [R=301,L]
#if the query string has a pagewanted parameter
RewriteCond %{QUERY_STRING} (^|&)pagewanted=all [NC]
#Redirect and remove query string parameters for html pages
RewriteRule (.+\.html) http://www.mysite.com/$1? [R=301,L]
编辑。
添加了删除pagewanted=all