到目前为止,我所有的重写规则都使用$ 1,$ 2 ...变量来形成一个干净的URL。
现在我需要根据域名的一部分(http://subdir.example.com
=> http://example.com/subdir
)进行重定向,并且我发现使用%1变量而不是$ 1格式的许多示例。我应该注意subdir
是一个任意字符串。
这对我来说还不清楚。我试图在一两个小时内找到$ 1和%1变量的含义,但仍然找不到任何有用的东西。
答案 0 :(得分:1)
您可以在.htaccess
:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdir\.example\.com$
RewriteCond %{REQUEST_URI} !^/subdir/
RewriteRule (.*) /subdir/$1
确保在测试之前清除缓存。
来自OP的建议编辑:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*)\.example\.com$
RewriteCond %{REQUEST_URI} !^/????/
RewriteRule (.*) /????/$1