我有每个用户的子域名,user1.domain.com成功指向domain.com/user1。
我的问题是如何执行此操作,以便http://user1.domain.com/admin将“静音”重定向到http://domain.com/admin?
我想将其应用于子域中的所有子目录,因此user1.domain.com/cart silent重定向到domain.com/cart& user1.domain.com/cart/checkout/confirmation - > domain.com/cart/checkout/confirmation等等。请记住,这些目录实际上并不存在于子域中,只存在于根域中。
我已尝试搜索Stackoverflow但无法找到我特定问题的答案。谢谢!
答案 0 :(得分:1)
除非浏览器知道它,否则它不是重定向,没有“静默”重定向这样的东西。您有2个选项,您可以代表浏览器进行代理,也可以在内部重写请求如果user1.domain.com
和domain.com
共享同一个文档根。
代理:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/%1/$1 [L,P]
P
标志表示代理。除非您加载了mod_proxy,否则此规则将不会工作。如果您的所有域都指向同一个文档根目录,那么您只需重写:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.com$ [NC]
RewriteRule ^(.*)$ /%1/$1 [L]