域的内部重写不适用于子目录

时间:2017-03-10 14:23:46

标签: .htaccess mod-rewrite

我有一个域名,让我们说

test.example.com

.HTACCESS文件位于var/www/html/,因此test.example.com也指向该位置。

我希望test.example.com在内部加载/var/www/html/example/test

使用以下代码

RewriteEngine on

RewriteCond %{HTTP_HOST} ^test\.example\.com$ [NC]
RewriteRule ^$ example/test%{REQUEST_URI} [NC,QSA,L]

重写适用于root,但是当我加载test.example.com/foo时,它会说404,而不应该指向内部的/var/www/html/example/test/foo和外部的test.example.com/foo

1 个答案:

答案 0 :(得分:0)

用此

替换您的规则
RewriteRule ^(.*)$ example/test%{REQUEST_URI} [L]

问题是** ^ $ **只匹配根目录,并且在请求/ foobar时不匹配。我已将模式更改为 ^(。*)$ 以允许所有uris。