下面是以 sub.domain.com 绑定到子目录sub为例的.htaccess代码.
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # 绑定 sub.domain.com 到子目录/sub RewriteCond %{HTTP_HOST} ^sub\.domain\.com$ [NC] RewriteCond %{REQUEST_URI} !^/sub/ RewriteRule ^(.*)$ sub/$1?Rewrite [L,QSA] # 可以绑定多个只需重复上三行代码并更改一下域名、目录名 就好了 </IfModule>
如果你以完成上面的步骤 你的子域名应该可以访问了, 但你会发现在浏览器上访问domain.com/sub时也可以访问,可这并不是我们想要的
接下来我们完成最后一步, 在每一个绑定的目录中 如sub目录中 也增加一个 .htaccess 文件 .
htaccess代码如下:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / # 只许绑定的域名访问 RewriteCond %{HTTP_HOST} !^sub\.domain\.com$ [NC] RewriteRule (.*) http://sub.domain.com/$1 [L,R=301] # 对绑定目录下与同名的目录的处理 RewriteCond %{REQUEST_URI} ^\/sub\/ [NC] RewriteCond %{QUERY_STRING} !^(.*)?Rewrite RewriteRule ^(.*)$ /%{REQUEST_URI}/%{REQUEST_URI}/$1?Rewrite [L,QSA] </IfModule>