.htaccess重定向到子文件夹问题

时间:2010-12-16 18:26:04

标签: wordpress .htaccess

我有以下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

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

任何人都可以帮助我吗?提前谢谢!

1 个答案:

答案 0 :(得分:1)

当然,如果用户已被重定向,则不应重定向用户。

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

示例:

RewriteCond %{REQUEST_URI} !^/subfolder/