【问题标题】:htaccess: How to redirect non-www url to my www-urlhtaccess:如何将非 www url 重定向到我的 www-url
【发布时间】:2013-05-30 01:30:19
【问题描述】:

目前我的网站只能在访问 www.mysite.net 或http://www.mysite.net 时访问。我该如何更改这一点,以便当您访问 http://mysite.net 时,您将被定向到 www.mysite.net?

这是我当前的 HTACCESS 文件内容

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

我也试过这个...

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %mysite.net !^www\.
RewriteRule (.*)$ http://www.%mysite.net/$1 [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

谢谢

【问题讨论】:

  • 顶级规则集应该可以工作,但您可能需要将RewriteBase 移至RewriteEngine On 之后。当您尝试该规则集时会发生什么?

标签: .htaccess redirect


【解决方案1】:
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]

编辑:

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

编辑 2

Add URL Rewrite Rule To Wordpress这没有帮助吗?

【讨论】:

【解决方案2】:

您必须在 htaccess 文件中使用此代码以首选 www 版本:

RewriteCond %{HTTP_HOST} !^(.).YourDomain.com$ [NC] RewriteRule ^(.)$ http://www.YourDomain.com/$1 [R=301,L]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 2011-06-24
    • 2019-03-09
    • 2011-11-05
    • 2013-12-20
    相关资源
    最近更新 更多