如何将RewriteRule与不同的子域一起使用?

时间:2014-10-18 14:14:13

标签: .htaccess mod-rewrite subdomain

我想为网站创建一个RewriteRule,但我不知道要添加什么。

我的.htaccess看起来像这样:

<IfModule mod_rewrite.c>
Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteCond %{ENV:REDIRECT_SUBDOMAIN} ="" 
RewriteCond %{HTTP_HOST} ^([a-z0-9][-a-z0-9]+)\.team-orbitron\.com\.?(:80)?$ [NC] 
RewriteCond %{DOCUMENT_ROOT}/%1 -d
RewriteRule ^(.*) %1/$1 [E=SUBDOMAIN:%1,L] 
RewriteRule ^ - [E=SUBDOMAIN:%{ENV:REDIRECT_SUBDOMAIN},L] 

</IfModule>

所以当有人进入“account.team-orbitron.com/sign-in.php”时,会搜索“/ account / sign-in.php”

但现在我想用RewriteRule改变一些东西。

当有人去“account.team-orbitron.com/sign-in.php”时,他只需要输入“account.team-orbitron.com/sign-in “即可。我试过

RewriteRule ^(.*) %1/$1.php [E=SUBDOMAIN:%1,L]

但有人进入“account.team-orbitron.com”。它将搜索“/ account / .php”,我不希望这样。

而且我不想仅仅为帐户使用“修复”代码...,我也想将代码用于博客......,论坛......等等。

我希望你能帮助我:)。

1 个答案:

答案 0 :(得分:0)

在重写之前,您必须首先确保存在.php文件。使用此规则:

RewriteCond %{ENV:REDIRECT_SUBDOMAIN} ="" 
RewriteCond %{HTTP_HOST} ^([a-z0-9][-a-z0-9]+)\.team-orbitron\.com\.?(:80)?$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC]
RewriteRule ^(.+?)/?$ %1/$1.php [E=SUBDOMAIN:%1,L]