如何使用htaccess将domain.com更改为domain.com/folder

时间:2012-12-27 06:26:50

标签: .htaccess mod-rewrite

我有这个文件夹结构

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]

但它返回一个重定向循环错误。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

您需要检查它是否尚未指向/srv。尝试:

RewriteCond %{HTTP:Host} ^(?:sub\.domain\.com)?$
RewriteCond %{REQUEST_URI} !^/srv/
RewriteRule ^(.*)$ http://%{HTTP_HOST}/srv/$1 [R=301,L]