我在托管环境中无法直接修改Apache conf文件,因此我依赖于htaccess文件。
我有一个public_html目录,我想设置它以便我可以拥有如下的子目录,这样当访问者在他们的浏览器中访问alpha.com时,他们从该目录中获取内容,依此类推: / p>
public_html/alpha.com # Used when visitors access alpha.com
public_html/bravo.com # Used when visitors access bravo.com
public_html/charlie.com # Used when visitors access charlie.com
如何使用public_html根目录中的htaccess文件执行此操作?
我不想使用任何类型的客户端重定向。我想在服务器端映射这些。
答案 0 :(得分:1)
您可以使用:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?alpha\.com [NC]
RewriteRule ^((?!alpha\.com/).*)$ /alpha.com/$1 [NC,L]
RewriteCond %{HTTP_HOST} ^(www\.)?bravo\.com [NC]
RewriteRule ^((?!bravo\.com/).*)$ /bravo.com/$1 [NC,L]
RewriteCond %{HTTP_HOST} ^(www\.)?charlie\.com [NC]
RewriteRule ^((?!charlie\.com/).*)$ /charlie.com/$1 [NC,L]
或者,如果您始终对目录使用相同的名称,则可以使用:
RewriteCond %{HTTP_HOST} ^(?:www\.)?((?:alpha|bravo|charlie).com) [NC]
RewriteCond %1::%{REQUEST_URI} !^(.*?)::/\1/?
RewriteRule ^(.*)$ /%1/$1 [NC,L]