无法将sub.example.com重定向到sub.example.com/directory/

时间:2016-10-06 00:43:25

标签: apache .htaccess mod-rewrite

我目前在example.com/directory/上设置了一个网站。 / directory /设置为根据子域显示不同的内容,该部分工作正常。我编辑httpd.conf文件时无法正常工作。

显然我只能为sub.example.com设置我的A记录,指向example.com而不是example.com/directory/,所以我在我的httpd中设置了一些规则来解决这个问题,但他们似乎没有工作。这是我到目前为止所得到的:

RewriteCond %{HTTP_HOST} ^sub1\.example\.com$ [NC]
RewriteRule ^((?!directory).*)$ /directory/$1 [NC,L]

RewriteCond %{HTTP_HOST} ^sub2\.example\.com$ [NC]
RewriteRule ^((?!directory).*)$ /directory/$1 [NC,L]

似乎正在发生的事情是这些规则只是将每个子域指向example.com/directory并完全删除子域。关于我需要在这里改变什么,我有点迷失,我对Apache不太熟悉。

我知道这应该很简单,但我似乎无法找到任何直截了当的文件供我理解,是否有人有任何指示?

1 个答案:

答案 0 :(得分:1)

您应该为每个子域使用单独的子目录,如下所示:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^sub1\.example\.com$ [NC]
RewriteRule ^((?!folder1/).*)$ folder1/$1 [NC,L]

RewriteCond %{HTTP_HOST} ^sub2\.example\.com$ [NC]
RewriteRule ^((?!folder2/).*)$ folder2/$1 [NC,L]

其中folder1sub1域的子目录,folder2sub2域的子目录。