我的网站在 InfinityFree 托管上运行,它会在每个 URL 上添加
?i=1
后缀(如 www.mysite.com/?i=1
、或 /?i=2
、或 /?i=3
),以保护网站免受恶意机器人攻击,正如他们所说。
但是,当然,我不喜欢这些后缀并想禁用它们(只需将 www.mysite.com/anypage/?i=1
重定向到
www.mysite.com/anypage/
)。请注意,我不想禁用所有 GET 参数,而只想禁用这些
i=1
、
i=2
和
i=3
。我认为可以使用
.htaccess
来完成。有人可以帮我吗?
this问题中的代码解决了这个问题。 我刚刚在 .htaccess 中添加了这段代码,现在它将所有带有“i”的 URL 重定向到不带“i”的 URL。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)i=[^&]+(.*)$ [NC]
RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)i=[^&]+(.*)$ [NC]
RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]
添加了正则表达式“&?”避免
空键/值:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)i=[^&]+&?(.*)$ [NC]
RewriteRule ^(.*)$ /$1?%1%2 [R=301,L]