.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”而不是重定向的主要内容,如果未能解决你的问题,请参考以下文章
apache 2.4中的htaccess重定向301不起作用