繁体   English   中英

我的WordPress网站索引URL中有“ /?i = 2”

[英]There is “/?i=2” in my wordpress website index url

我最近抓到了一台主机,首先在htdocs根目录中有一个index2.html,它是默认索引,直到在该根目录中安装wordpress之前,我都没有将其删除。 然后,wordpress会自动使用以下正常代码制作一个httaccess文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

现在我意识到有时我的通用网址中有/?i = 1或/?i = 2,例如wordpresssite.com/?i=2,这是一个问题,因为我使用的是某些广告单元系统,将我的网站网址提供给系统,但广告系统漫游器似乎有些时间将其重定向到“ wordpresswebsite.com/?i=2”网址,但该网址与我之前输入的网址(wordpresswebsite.com)不匹配,因此不会工作。

现在我删除了index2.html,但问题仍然存在。 这个?i = 1或2与PHP GET参数有关,但是此参数的显示方式。

我发现这个类似的问题在Reddit和结论是:

最有可能在虚拟主机级别上有一些规则。

----是的,它来自主机,他们说他们不能禁用它,因为它保护了我免受机器人的攻击。

对于那些有兴趣删除主要由免费主机提供商安装的/?i = 1的用户,这里有个提示。

在网站根目录中编辑并上传.htaccess文件

RewriteCond %{QUERY_STRING}  ^(.*)\?i=1$ [NC]
RewriteRule ^(.*)$ /$1?%1 [R=301, L]

如果您使用的是Apache,则必须先启用mod_rewrite

sudo a2enmod mod_rewrite

然后重新启动或重新加载服务器以进行新配置:

sudo service apache2 restart

(如果没有shell访问权限,请尝试为此找到一些精美的控制面板选项)

?i = 1或2或3是为了保护您的网站免受机器人攻击。 尝试为您的网站使用cloudflare或使用.htaccess代码删除? PARAMATERS。 请注意,使用任何代码删除?i = 1都会删除所有? 参数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM