Mod ReWrite Catch-All子域

时间:2009-06-19 12:51:10

标签: .htaccess mod-rewrite

基本上我希望* .domain.com提取域名/ * /(不是重定向)。

我进入了cPanel的subdomains部分,并为此域设置了一个通配符。它似乎正在正确解决,即* .domain.com正在提出domain.com。

我现在在public_html目录中创建了一个包含以下内容的htaccess文件:

Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !www.domain.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).domain.com [NC]
RewriteRule (.*) %2/$1 [L]

我得到的错误是'500内部服务器错误',有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试此规则:

RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9-]+)\.example\.com$ [NC]
RewriteCond %2%{REQUEST_URI} !^([^/]+)/\2
RewriteRule (.*) %2/$1 [L]

额外的RewriteCond %2%{REQUEST_URI} !^([^/]+)/\2应该避免由L标志引起的无限循环。