4
我目前在htaccess文件中有以下内容,该文件将某些请求重定向到请求域的单个文件夹(如果文件不存在于根目录中)。htaccess从%{HTTP_HOST}获取域名到变量中,减去www
RewriteRule ^contact/?$ ASSETS/%{HTTP_HOST}/contact.php
RewriteCond %{REQUEST_URI} !^/ASSETS/%{HTTP_HOST}/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /ASSETS/%{HTTP_HOST}/$1
RewriteCond %{HTTP_HOST} ^(www.)?%{HTTP_HOST}$
RewriteRule ^(/)?$ ASSETS/%{HTTP_HOST}/index.php [L]
当我的域名文件夹被命名为喜欢的正常工作/ASSETS/www.domain1.com,/ASSETS/www.domain2.com等
不过,我已经建立了很多我的代码已经与假设文件夹将被标记为/ASSETS/domain1.com等(域名,减去www。)
我在想有一种方法可以将%{HTTP_HOST}中的域名转换为一个新变量并去掉www。部分(如str_replace或其他),但我发现的所有答案都围绕基本重定向到www。或者没有www。这是不会工作,因为我仍然希望用户从强制www访问该网站。版。
我之前曾使用RewriteCond%{HTTP_HOST} ^(www。)?domain1.com $单独运行每个域的规则,但现在有很多域,对每个域都做不到。
希望你能帮助!提前致谢。
的地方,我需要的,正则表达式需要一些调整这让我用它作为
%1
但这个概念是对的.. 工作的正则表达式是 RewriteCond%{HTTP_HOST} ^(?: www \。)?([a-z0-9 - ] + \。[az] +)[NC] – SamSebastian 2013-04-23 22:11:24