.htaccess RewriteRule:使用相同服务器和目录的两个域

时间:2011-08-07 11:12:25

标签: php .htaccess mod-rewrite multiple-domains

作为一些背景知识,我们有两个域:

  1. mydomain.com
  2. mydomain.cz
  3. mydomain.cz 指向 mydomain.com 的服务器并使用相同的目录。我们在.htaccess中有一个RewriteRule(两个域共享)如下:

    RewriteRule ^([0-9]+)/?$ project.php?id=$1 [NC,L] # Handle project requests
    RewriteRule ^([0-9]+)/?$ project_cz.php?id=$1 [NC,L] # Handle project requests
    

    此RewriteRule在使用 mydomain.com/project.php?id=1 (例如)和 mydomain中的内容时显示 mydomain.com/1 。 cz / 1 还会为内容提取 mydomain.com/project.php?id=1 。但是,我希望 mydomain.cz/(在此处插入ID)的 project_cz.php?id =(在此处插入ID)中提取内容,而不是显示服务器的域名,mydomain.com - 任何想法?

    例如: mydomain.cz/1 会使用 mydomain.com/project_cz.php?id=1 mydomain.com/1 将使用 mydomain.com/project.php?id=1

    非常感谢。

1 个答案:

答案 0 :(得分:11)

添加RewriteCond指令,该指令定义以下 RewriteRule的条件。

例如:

RewriteCond %{HTTP_HOST} ^mydomain\.com
RewriteRule ^([0-9]+)/?$ project.php?id=$1 [NC,L] # Handle project requests

RewriteCond %{HTTP_HOST} ^mydomain\.cz
RewriteRule ^([0-9]+)/?$ project_cz.php?id=$1 [NC,L] # Handle project requests