【问题标题】:Redicrect Loop when trying to add www to htaccess尝试将 www 添加到 htaccess 时重定向循环
【发布时间】:2014-10-13 05:55:34
【问题描述】:

我希望有人可以查看我的 htaccess 设置并告诉我是否做错了什么。每次我尝试添加我发现的多种格式之一以将我的页面重定向到 www 时,我都会得到一个重定向循环。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]


RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]


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

上述方法有效,但它进入没有 www 的基本页面。

我尝试了以下设置,但都没有。

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.yoursite\.com
RewriteRule (.*) http://www.yoursite.com/$1 [R=301,L]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond  %{HTTP_HOST} !^www\.  [NC]
RewriteRule  ^(.*)$  http://www.yoursite.com/$1  [R=301,L]
</IfModule>

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

【问题讨论】:

  • 您的主页 url 在 wordpress 仪表板中是如何定义的? Wordpress 将始终尝试尊重该网址

标签: wordpress .htaccess redirect web


【解决方案1】:

这是我添加到使用 WordPress 设置的默认 .htaccess 文件的代码。要添加我使用的 www:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^your-site.com [NC]
RewriteRule ^(.*)$ http://www.your-site.com/$1 [L,R=301]

确保 [在常规设置下] 更新 WordPress 地址 (URL) 以包括 www。

【讨论】:

  • 为了清楚起见,您说这会删除 www?我目前没有,我想添加它。
  • 一开始我错过了阅读您的信息。我已更新代码以显示 www.
猜你喜欢
  • 2014-05-15
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
  • 2012-11-16
  • 2013-09-09
  • 1970-01-01
  • 1970-01-01
  • 2017-04-17
相关资源
最近更新 更多