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