我正在为以下问题寻找一个有效的解决方案:
我有许多相同的网站域名。
当有人访问www.domainname.tld时,应该会重定向到http://www.domainname.tld
当有人访问subdomain.domainname.tld时,应该会重定向到http://www.domainname.tld
当有人访问domainname.tld时,应该会重定向到http://www.domainname.tld。
==
我尝试了以下几种方法:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{SERVER_NAME}/$1 [L,R=301]==
问题:进入subdomain.domainname.tld时会重定向到www.subdomain.domainname.tld
==
我希望它是.htaccess格式的。
我已经搜索过了,但不幸的是没有成功。
如果有人能提供解决方案,我将非常高兴:)
==
在您的帮助下,我能够将代码更改为:
RewriteCond %{HTTP_HOST} ^([^/.]+)\.(.*)\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%2\.%3/$1 [L,R=301]我只需要一个最后的变化,它不应该直接到http://domain.tld ->,我更喜欢http://www.domain.tld
我尝试过在目标中添加www的不同尝试,但都没有成功。
我以匿名解决方案结束,这个解决方案对我很有效:
RewriteCond %{HTTP_HOST} !^www\.[^.]+\.[^.]+$
RewriteCond %{HTTP_HOST} ([^.]+\.[^.]+)$
RewriteRule (.*) http://www.%1/$1 [L,R=301]感谢所有有时间阅读和帮助的人!
发布于 2019-08-30 10:27:39
没有办法删除所有的子域,但你可以得到域名的最后两部分:
RewriteCond %{HTTP_HOST} !^www\.[^.]+\.[^.]+$
RewriteCond %{HTTP_HOST} ([^.]+\.[^.]+)$
RewriteRule (.*) http://www.%1/$1 [L,R=301]https://stackoverflow.com/questions/57714019
复制相似问题