我有这个文件夹结构
webroot/
www/
srv/
当我访问http://www.domain.com时,它使用以下代码指向www /文件夹:
RewriteCond %{HTTP:Host} ^(?:www\.)?domain\.com$
RewriteRule (.*) /www/$1 [NC,L,NS]
它显示地址栏上没有文件夹名称的www /文件夹的内容。它的名字保留为:
http://www.domain.com
我想要的是使用.htaccess mod_rewrite来改变:
http://sub.domain.com
到
http://sub.domain.com/srv
显示子文件夹及其内容的位置。可能吗?我试过了:
RewriteCond %{HTTP:Host} ^(?:sub\.domain\.com)?$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/srv/$1 [R=301,L]
但它返回一个重定向循环错误。我怎么能这样做?
答案 0 :(得分:0)
您需要检查它是否尚未指向/srv
。尝试:
RewriteCond %{HTTP:Host} ^(?:sub\.domain\.com)?$
RewriteCond %{REQUEST_URI} !^/srv/
RewriteRule ^(.*)$ http://%{HTTP_HOST}/srv/$1 [R=301,L]