2012-04-14 93 views
-1

这是我的.htaccess:htaccess的重写/重定向目录到URL

### PHP stuff 
AddHandler application/x-httpd-php5 .shtml .html .htm 

ErrorDocument 404 /404.shtml 

# Protect the htaccess file 
<Files .htaccess> 
Order Allow,Deny 
Deny from all 
</Files> 

Options +FollowSymlinks 

<IfModule mod_rewrite.c> 
### Turn the rewrite engine on 
RewriteEngine On 

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

### We want everyone to go to http://www.MAINSITE.co instead of without the www 
RewriteCond %{HTTP_HOST} !^www\.MAINSITE\.co$ [NC] 
RewriteRule ^(.*)$ http://www.MAINSITE.co/$1 [R=301,L] 

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

# Disable directory browsing 
Options All -Indexes 

所以问题是,SECONDSITE身体坐作为MAINSITE的子目录,但我的主机重定向该目录SECONDSITE.org

问题是,现在如果我尝试去http://www.SECONDSITE.org,它会将我重定向到http://www.MAINSITE.co/SECONDSITE.org/这是一个有效的目录,但这两个站点完全不相关,我不希望任何人都看到这两个站点之间的任何连接。事实上,我会希望301重定向扔出一个404,而不是301,如果有人在访问MAINSITE时访问SECONDSITE目录

我意识到从非www到www重写导致上述错误,所以我需要的是:

1)重定向非www MAINSITE.co到www.MAINSITE.co

2)重定向到http://www.MAINSITE.co/SECONDSITE.org/任何访问http://www.SECONDSITE.org/(这也包括页面,如果可能的话),甚至更好丢出404错误,并显示错误页面给任何人去http://www.MAINSITE.co/SECONDSITE.org/,同时允许正常访问http://www.SECONDSITE.org/

3)确保有在任何情况下

我明白,我将可能需要创建2个.htaccess文件把一个在MAINSITE,另一个在SECONDSITE目录中没有无限循环,但我有不知道如何构建这一切...

感谢gazillion的帮助!正如你可以看到我的统计数据,我总是接受答案,并就有用的建议投票,这篇文章也不例外。再次感谢。

回答