如何使用Htaccess执行此操作

时间:2011-04-02 08:19:12

标签: php .htaccess mod-rewrite

我在htaccess文件中使用以下代码

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www.)?website.com$
RewriteCond %{REQUEST_URI} !^/www/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ /www/$1

RewriteCond %{HTTP_HOST} ^(www.)?website.com$
RewriteRule ^(/)?$ www/index.php [L]

它的作用是,无论何时加载www.website.com,它都会从/www/目录加载其内容并保持url参数相同(这是真棒)。

无论如何,我现在想要的是,每当加载任何子域(除了www)之外,我想从/subdomain/目录加载其内容并保持url参数相同(即不显示{地址栏/网址中的{1}}。

1 个答案:

答案 0 :(得分:1)

您可能需要引用RewriteCond部分的内容,以便将其用作子域文件夹。

RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).website.com [NC]
RewriteRule ^(/)?$ %2/index.php [NC,QSA]

%2引用RewriteCond中匹配的正则表达式中的第二个标记匹配(括号中的东西是标记) [NC]表示无案例 [QSA]表示查询字符串追加

相关问题