【问题标题】:.htaccess redirect to subfolder problem.htaccess 重定向到子文件夹问题
【发布时间】:2010-12-16 18:26:04
【问题描述】:

我有以下 htaccess 将用户从 www.mysite.com 或 http://mysite.com 重定向到 http://mysite.com/subfolder

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www.mysite.com$ [OR]
RewriteCond %{HTTP_HOST} !^mysite.com$
RewriteRule ^(.*)$ http://mysite.com/subfolder/$1 [L,R=301] 

它工作得很好,但由于某种原因它重定向到http://www.mysite.com/subfolder/(我需要删除 www),子文件夹只是一个常规的 Wordpress 安装,它有默认的 .htaccess 文件,我尝试添加以下内容:

# Redirect
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule (.*) http://mysite.com/subfolder/$1 [R=301,L]
</IfModule>

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

</IfModule>

# END WordPress

要从 url 中删除 www,但它给了我一个严重的重定向错误,我对这个 .htaccess 配置真的很陌生,所以我不知道我做错了什么。

谁能帮助我?提前致谢!

【问题讨论】:

    标签: wordpress .htaccess


    【解决方案1】:

    当然,如果用户已经被重定向,你不应该重定向他/她。

    为此,您需要RewriteCond 来检查您是否已经在子文件夹中。

    例子:

    RewriteCond %{REQUEST_URI} !^/subfolder/
    

    【讨论】:

    • 嗨,我进行了更改,现在它没有显示重定向错误,但它不会将 www 从 url 中删除,我将帖子更新为 htaccess 文件现在的样子。非常感谢!
    • RewriteCond 部分用于其他 RewriteRule。放在RewriteRule . /subfolder/index.php [L]之前
    • 我更改了它,但现在它再次向我显示重定向错误,这很奇怪,因为如果我从第二个 htaccess 中删除所有重定向代码并只保留 wordpress 内容,它会将 www 添加到地址中,即使我正在重定向到mysite.com/subfolder ..
    猜你喜欢
    • 1970-01-01
    • 2014-06-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-05
    • 2015-10-06
    • 1970-01-01
    • 2011-02-12
    相关资源
    最近更新 更多