.htaccess 中的 301 重定向错误,显示“Bots Get Naked Version”而不是重定向

Posted

技术标签:

【中文标题】.htaccess 中的 301 重定向错误,显示“Bots Get Naked Version”而不是重定向【英文标题】:301 Redirect Error in .htaccess, shows "Bots Get Naked Version" instead of redirecting 【发布时间】:2014-02-03 01:53:21 【问题描述】:

我希望为网站编写 301 重定向。我希望重定向从 http://www.ehlconsulting.com/our-services-basic-services/ 转到 http://www.ehlconsulitng.com/services/。

我的 .htaccess 文件如下

RewriteEngine On
RewriteCond %HTTP_HOST ^ehlconsulting.com
RewriteRule (.*) http://www.ehlconsulting.com/$1 [R=301,L]


# 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
Redirect 301 /our-services-basic-services/ http://www.ehlconsulting.com/services/

当您转到旧网址时,它不会重定向。相反,它显示“机器人获取裸版”

【问题讨论】:

太棒了。让我们看看一些代码... FWIW,我们今天也收到了。托管在 WPEngine,WP 3.8。发生在任何 404 上。 更新:我们在 github 上的 WPEngine 插件中找到了该字符串,所以这是他们的问题。我继续提供实时支持,并在大约十分钟内解决了问题。 【参考方案1】:

您可能不想使用 Redirect 并希望将实际重定向移到您的 wordpress 规则之上:

RewriteEngine On
RewriteCond %HTTP_HOST ^ehlconsulting.com
RewriteRule (.*) http://www.ehlconsulting.com/$1 [R=301,L]

RewriteRule ^our-services-basic-services/(.*)$ http://www.ehlconsulting.com/services/$1 [L,R=301]

# 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

“机器人获得裸版”的事情与你的规则无关,它可能是 WPEngine 或默认情况下这样做的东西,你可能可以通过使用来覆盖它ErrorDocument 404 在您的 htaccess 文件中。使用 Redirect 和 wordpress 的 RewriteRule 的问题是它们相互冲突。

【讨论】:

以上是关于.htaccess 中的 301 重定向错误,显示“Bots Get Naked Version”而不是重定向的主要内容,如果未能解决你的问题,请参考以下文章

重定向.htaccess 301

.htaccess 中的 301 重定向

.htaccess 中的重定向错误 [重复]

apache 2.4中的htaccess重定向301不起作用

301 基于 .htaccess 中的 GET 变量重定向 URL

Magento 2中的htaccess 301重定向