我们假设我们有一个域名root.com 我在htaccess中添加了这些行,将非www重定向到www:
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
我还有一个子域:demo.root.com所以我在子目录root / demo中添加了一个htaccess,并添加了一些行来将子目录重定向到子域以避免直接访问子域使用root.com/demo或www.root.com/demo这里的子目录是添加的代码:
RewriteCond %{http_host} ^root.com [nc]
RewriteRule ^(.*)$ http://www.root.com/$1 [L,R=301]
RedirectMatch 301 ^/demo/(.*)$ http://demo.root.com/$1
现在的结果是:
问题是:
使用此url:root.com/demo(非www版本)不会将我重定向到demo.root.com,可能是因为有两个重定向:
似乎这个组合不会起作用
我想要什么?
组合:
答案 0 :(得分:0)
将这两条规则保留在主DOCUMENT_ROOT/.htaccess
:
RewriteRule ^demo(/.*|)$ http://demo.root.com$1 [R=301,L,NC]
RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
从demo/.htaccess
删除现有规则。