【问题标题】:.htaccess 301 redirect subdomain and all files and folders to root.htaccess 301 将子域和所有文件和文件夹重定向到根目录
【发布时间】:2014-05-10 01:24:19
【问题描述】:

我已经把头撞在墙上一天了,试图弄清楚这一点。如果您知道如何执行此操作并且可以提供帮助,我们将不胜感激。

我正在尝试 301 将所有内容从 www.example.com 重定向到 example.com 的根域

以下内容可按预期重定向 www.example.com,但对其他文件或文件夹的请求返回 302。这是一个 Wordpress 多站点安装,但此时它只有一个域映射。

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

# BEGIN WordPress
Options +FollowSymLinks 
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

# END WordPress

# Link re-directs from old website.

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

# Other

php_value memory_limit 500M

谁能帮忙??请,谢谢。

【问题讨论】:

    标签: .htaccess mod-rewrite url-redirection wordpress


    【解决方案1】:

    您需要在所有路由规则(例如 wordpress 内容)之前添加重定向规则。您的目标中还缺少一个斜杠,并且 HTTP_HOST 确实 not 包含任何路径信息,只是主机名。所以这个:

    # Link re-directs from old website.
    
    RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
    RewriteRule ^/?(.*)$ http://example.com/$1 [R=301,L]
    

    需要直接在 htaccess 文件顶部的 RewriteEngine On 下方。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-03
      • 2017-01-29
      • 2021-09-03
      • 2011-01-19
      • 1970-01-01
      相关资源
      最近更新 更多