2010-07-05 36 views
1

几天后,我问了一下重定向动态目录的index.php,我得到这个代码,可以完美运行(这是我在.htaccess中的唯一代码):RewriteEngine叙述:子域的index.php,怎么样?

RewriteEngine On 
RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteRule (.*) index.php 

这意味着像http://mydomain.example/dynamicdir/到URL http://mydomain.example/index.php

现在我要像翻译子域http://dynamicdir.mydomain.examplehttp://mydomain.example/index.php?dir=dynamicdir

从例子我在网上查到我想加入这一行:

RewriteRule ^(.*)\.mydomain\.example index.php?dir=$1 

但它不工作。我没有足够的模块重写经验来告诉你什么是缺失或错误。能否请你帮我找到一种方法来保持动态目录翻译,并添加捕获所有子域名规则?

问候!

回答

0

mod_rewrite规则使用请求路径,它是相对于虚拟主机。尝试为每个虚拟主机设置不同的重写规则,但将其文档放在同一个目录中。

0

随着RewriteRule你只能测试URL path。对于主机名,您需要在RewriteCond中使用%{HTTP_HOST}

RewriteCond %{HTTP_HOST} ^(.+)\.example\.example$ 
RewriteRule^index.php?dir=%1 
相关问题