.htaccess指向特定域内部页面的主页

时间:2013-01-04 06:39:52

标签: apache .htaccess mod-rewrite

好的......我正在做一些有点奇怪和不同寻常的事情。我会尝试解释......

我有几个域名指向我的网络服务器上的同一个根目录。我可以使用任何域名访问整个网站(我知道这对SEO有害,但有原因)。此外,没有任何“页面”确实存在...因为它们都是动态构建的......所以我设置了一些mod重写规则,将所有传入的查询指向view.php并传入变量以生成页面内容...反正...

我想要做的只是将我的两个域的主页设置为(无形地)使用现有子页面的内容。这是一个例子:

这些都是同一页面: www.domain1.com/process/ www.domain2.com/process/ www.domain3.com/process/ 这实际上是这样的:view.php?page = process /

我希望此页面显示在www.domain2.com上(并且仍然可以在domain2.com/process上访问)

基本上,我希望将该网站的子页面作为domain2.com和domain3.com的“HOME”页面,但如果domain1.com仍应使用默认(index.php)主页。

我相信一旦回复开始进入,我需要发布澄清......但这是我现在所拥有的:

# special rules to set other domain names default homepage as specific internal page
RewriteCond %{HTTP_HOST} ^www.domain2.com [NC]
RewriteRule ^(.+)?$ /view.php?page=process/ [NC,L]

目前,这是将所有流量发送到domain2.com到“进程/”页面...所以它阻止了所有其他页面。我需要知道如何将此规则仅应用于基本域,而无需任何额外的查询字符串或URL路径。关键是我不想影响域内的其他页面...所以我仍然可以使用这个域名浏览整个网站...我刚开始使用不同的视图。

1 个答案:

答案 0 :(得分:3)

要仅匹配主页,即http://domain2com/,您需要匹配空路径(因为mod_Rewrite会删除前导/

RewriteCond %{HTTP_HOST} ^www.domain2.com [NC]
RewriteRule ^$ /view.php?page=process/ [NC,L]