我有一个主域设置(映射到Web根目录),然后是一些插件域(每个域都有自己的web根目录下的文件夹)。目前,您可以访问www.masterdomain.com/addondomainsubdir并访问与访问www.addondomain.com(映射到/ public_html / addondomainsubdir)时相同的页面。我想阻止这一点,所以如果你访问www.masterdomain.com/addondomainsubdir然后它会进行301重定向到www.addondomain.com。新的addondomain.com网站是一个单页网站,因此它不必映射任何其他页面。
将规则添加到web根目录中的htaccess文件不会影响任何东西,因为子目录存在很奇怪,因为我认为htaccess命令应该工作,即使有匹配的子目录(我已经尝试了下面的工作,当没有匹配子目录):
RewriteRule ^addondomainsubdir?$ http://www.addondomain.com [NC,R=301,L]
逻辑上给它到达这个目录我想我需要在addondomainsubdir目录中的htaccess文件中添加一个命令,但是没有任何效果(我已经设置了各种其他规则并且它们工作正常)。
如果有人解释纠正这个问题的最佳方法,我会非常感激吗?
非常感谢你的帮助,
戴夫
答案 0 :(得分:1)
我知道这是一篇旧帖子,但从未成功回答过。因此,对于你们所有人通过搜索找到这个,这应该做OP所要求的。
将此行添加到.htaccess
文件中:
redirect permanent /addondomainsubdir/ http://www.addondomain.com
答案 1 :(得分:0)
在.htaccess中试用这些规则:
Options +FollowSymlinks -MultiViews
RewriteEngine on
# for http
RewriteCond %{HTTP_HOST} ^(www\.)?masterdomain\.com$ [NC]
RewriteCond %{SERVER_PORT} =80
RewriteRule ^([^/]+)/?$ http://www.$1.com/ [R=301,L]
# for https
RewriteCond %{HTTP_HOST} ^(www\.)?masterdomain\.com$ [NC]
RewriteCond %{SERVER_PORT} =443
RewriteRule ^([^/]+)/?$ https://www.$1.com/ [R=301,L]
答案 2 :(得分:0)
不是在主.htaccess中放置规则,而是为每个附加域创建一个.htaccess,将每个域放在相应的子目录中。
RewriteEngine on
RewriteCond %{HTTP_HOST} masterdomain\.com$ [NC]
RewriteRule ^addondomainsubdir(.*)$ http://www.addondomain.com/$1 [R=301,L]