【发布时间】:2012-02-14 14:14:43
【问题描述】:
我正在尝试创建一个 .htaccess mod_rewrite,如果当前引用者不是我自己的域,它将表现不同。例如,假设我拥有 example.com(即 www.example.com、http://example.com 等)。当有人访问 example.com(或 beta.example.com 等子域)时,我想忽略这个 .htaccess 规则。所以我猜这个正则表达式基本上只是在其中的某个地方寻找 example.com 而忽略那些。
但是,如果是诸如 otherdomain.com 之类的域(假定通过 cname 或 A-record 指向 example.com)访问我的站点,我想将它们重定向到某个地方。这是我到目前为止所拥有的,我认为很接近但不起作用。
我对这些规则的主要困惑是 RewriteRule 之后的部分(在本例中为 ^$)。我在谷歌搜索中看到了一些不同的东西,我不确定它们之间的差异。例如,我也只看到过 ^、(.*)$ 等。
RewriteCond %{HTTP_REFERER} !^http://([^.]+\.)*(example)\.com
RewriteRule ^$ redirectfile.php [L]
我也一直在搞砸
RewriteCond %{HTTP_REFERER} ^http://(.+\.)*\.com
RewriteCond %1 !^(example)\.$
RewriteRule ^$ redirectfile.php [R=302,L]
【问题讨论】:
标签: regex apache .htaccess mod-rewrite http-referer