【问题标题】:There is "/?i=2" in my wordpress website index url我的 wordpress 网站索引 url 中有“/?i=2”
【发布时间】:2017-09-10 06:15:57
【问题描述】:

我最近抓住了一个主机,首先在我的 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 参数,但是这个参数将如何出现。

【问题讨论】:

  • 我也遇到了同样的问题,如果您找到任何解决方案,请更新....
  • @jatinverma我发现这是由于主机提供商配置来防止机器人风险...最好的解决方案是将您的主机或服务器计划更改为专用VPS或服务器之类的东西以获取所有配置自己的服务器

标签: php wordpress .htaccess url-rewriting


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    我在reddit上发现this有类似的问题,结论是:

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

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

    【讨论】:

      【解决方案3】:

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

      sudo a2enmod mod_rewrite
      

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

      sudo service apache2 restart
      

      (如果没有外壳访问权限,请尝试为此找到一些花哨的控制面板选项)

      【讨论】:

        【解决方案4】:

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

        【讨论】:

          猜你喜欢
          • 2013-11-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多