帮助.htaccess文件的重写规则

时间:2009-12-23 22:08:36

标签: .htaccess mod-rewrite

如果我错过了某人已经覆盖的话,我会提前道歉;我试着看看是否有人有我自己的.htaccess困境:

我目前拥有以下网站: www.example.com

我想将其设置如下: somewebsite.example.com

让子域名“somewebsite”指向我的根目录下的子文件夹。如果该子域不可用,请将它们返回到根文件夹中的 error.html

示例:

/
error.html
/img
/websites
    /somewebsite
        index.html

这是我正在使用的根文件夹的.htaccess:

RewriteEngine on
Options +FollowSymlinks
RewriteBase /

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^somewebsite\.example\.com$ [NC]
RewriteCond %{REQUEST_URI} !somewebsite/ !-d
RewriteRule ^/(.*)$ http://somewebsite.example.com/$1 [L,R=301]

我对RegExp或.htaccess文件并不感到惊讶,但是为了实现目标我还缺少什么?

1 个答案:

答案 0 :(得分:0)

尝试此规则:

RewriteCond %{HTTP_HOST} ^([^./]+)\.example\.com$
RewriteCond %{DOCUMENT_ROOT}/%1 -d
RewriteRule ^ %{DOCUMENT_ROOT}/%1%{REQUEST_URI} [L]

此规则测试带有任意 foobar foobar.example.com 是否可以映射到位于文档根目录中的现有目录。