htaccess条件DirectoryIndex基于来自某些域的传入流量

时间:2014-06-22 09:51:08

标签: regex apache .htaccess mod-rewrite

我想为来自不同领域的冲浪者展示不同的索引页面 我想设置一个域列表,从中将传入的流量定向到我站点上的某个索引页面,然后设置另一个域的传入冲浪者列表,这些域应该位于我站点上的不同索引页面上,等等。 .. 示例:

来自domain1.comdomain2.comdomain3.com的冲浪者应登陆indexA.php

来自domain4.com的冲浪者,domain5.com应该落在indexB.php

等。

帮助将不胜感激:-)谢谢!

2 个答案:

答案 0 :(得分:0)

这取决于域的设置方式以及您拥有的访问权限。如果域都具有自己的VirtualHost配置并且您可以访问该配置(即,您可以更改主Apache配置并重新启动Apache),则可以为domain1.comdomain2.comdomain3.com设置DirectoryIndex。 indexA.phpdomain4.comdomain5.com以及indexB.phpRewriteRule。如果您无法访问主Apache配置,则必须使用DirectoryIndex indexA.php Options +FollowSymlinks RewriteEngine On RewriteCond %{HTTP_HOST} domain4\.com$ [NC,OR] RewriteCond %{HTTP_HOST} domain5\.com$ RewriteRule ^/$ indexB.php [L] s:

indexA.php

这将使用indexB.php作为默认索引,但使用http://domain4.com/作为http://domain5.com/的索引文件和DirectoryIndex

(假设所有域都来自同一目录。如果您有不同域的单独目录,则只需将.htaccess放入各自的{{1}}文件中

答案 1 :(得分:0)

您可以使用HTTP_REFERER标题:

RewriteEngine On

RewriteCond %{HTTP_REFERER} (domain1|domain2|domain3)\.(com|net|org|info)$ [NC] 
RewriteRule ^/?$ /indexA.php [L,NC]

RewriteCond %{HTTP_REFERER} (domain4|domain5)\.(com|net|org|info)$ [NC] 
RewriteRule ^/?$ /indexA.php [L,NC]