我有2个域名:
gyanplease.com/gyanplease
主域名(我已在.htaccess
的帮助下更改了文档根目录)mobiledevsolutions.com
二级域名在文档根目录中,我创建了一个名为gyanplease
的文件夹,在.htaccess
的帮助下,我已将gyanplease.com
重写为gyanplease
文件夹。这是重定向的代码:
#disable https
RewriteEngine on
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{REQUEST_URI} !gyanplease/
RewriteRule (.*) /gyanplease/$1 [L]
现在,当我在同一台服务器上托管另一个域时,即mobiledevsolutions.com
,那么它无法正常工作并发出404重定向错误。
答案 0 :(得分:1)
你可以做的只是为该主机运行/gyanplease/
重写,就像这样(替换最后两行):
RewriteCond %{HTTP_HOST} (?:^|\.)gyanplease.com$
RewriteCond %{REQUEST_URI} !^/gyanplease/
RewriteRule ^(.*)$ /gyanplease/$1 [L]
这样,此规则只会影响gyanplease.com
。
您也可以将第4行更改为此,因为未使用捕获:
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
所以这一切都会成为你的新规则:
RewriteEngine on
# Disable HTTPS
RewriteCond %{HTTPS} on
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Rewrite gyanplease.com to /gyanplease/
RewriteCond %{HTTP_HOST} (?:^|\.)gyanplease.com$
RewriteCond %{REQUEST_URI} !^/gyanplease/
RewriteRule ^(.*)$ /gyanplease/$1 [L]