当某人访问我的网站"example.com"
时 - (此网站运行CodeIgniter),我希望能够通过.htaccess检测该请求是否为"example.com"
,如果有人通过{访问我的网站{1}}(这应该可以正常工作,因为如果指向CNAME,我的虚拟主机接受传入的请求),然后它们将被重定向到控制器。
这是我尝试的尝试:
"user1.com"
如果可能,我是否可以保留外部请求域URL,因此如果请求来自RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/site/%1$1
RewriteRule ^(.*)$ http://example.com/site/%1$1 [L,NC,P]
,那就没问题 - 基本上没有屏蔽。
网站是我的控制器的名称,它采用参数名称。
问题
我认为使用这种方式时,虚拟主机地址无法正常工作,它不显示子页面...
答案 0 :(得分:1)
您可以使用此规则:
RewriteCond %{HTTP_HOST} !^example\.com$ [NC]
RewriteRule ^((?!site/).*)$ http://example.com/site/$1?host=%{HTTP_HOST} [L,NC,P]
删除www:
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [NE,R=301,L]