我有一个域名(例如doma.in
)我仅用于转发目的。所以我创建了这个.htaccess
定义:
RewriteEngine On
RewriteRule ^(.*)$ http://www.mydomain.tld/in/$1 [R=301,L]
这成功转发了以下方案中的电话
http://doma.in/abc -> http://www.mydomain.tld/in/abc
http://doma.in/123 -> http://www.mydomain.tld/in/123
http://doma.in/abc/123 -> http://www.mydomain.tld/in/abc/123
但我想转发根电话,无论是否有www
:
http://doma.in
http://www.doma.in
http://doma.in/
http://www.doma.in/
到http://www.mydomain.tld
的根网址。
我尝试添加另一个RewriteCond
,但此设置会在所有调用中抛出服务器错误:
RewriteEngine On
RewriteRule ^(.*)$ http://www.mydomain.tld/o/$1 [R=301,L]
RewriteCond ^(.*)doma.in/?$
RewriteRule ^(.*)$ http://www.mydomain.tld [R=301,L]
如何调整.htaccess
以支持我的要求?
答案 0 :(得分:1)
您可以使用:
RewriteEngine On
# root URL
RewriteRule ^/?$ http://www.mydomain.tld/ [R=301,L]
# all but root URL
RewriteRule ^(.+)$ http://www.mydomain.tld/in/$1 [R=301,L]
请务必在新浏览器中对此进行测试,以避免旧的301缓存。