【问题标题】:.htaccess Redirect based on HTTP_REFERER.htaccess 基于 HTTP_REFERER 重定向
【发布时间】:2012-09-19 01:34:37
【问题描述】:

我正在尝试执行上面所说的操作,但我遇到了循环错误,有时还会出现 500 错误!

我想要的是用户请求将站点的根“主页”页面重定向到 /Welcome - 除非他们已经在浏览该站点。

这是我的代码:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^mydomain\.co\.uk$ [N]
RewriteCond %{REQUEST_URI} /index.php [N]
RewriteRule ^$ /Welcome [L]

【问题讨论】:

    标签: .htaccess redirect http-referer


    【解决方案1】:

    您可能会收到 500 错误,因为 [N] 不是有效的 RewriteCond 标志,您是否在考虑 [NC](没有大小写)?

    另外,你有一个条件直接与规则的匹配相矛盾:

    RewriteCond %{REQUEST_URI} /index.php
    

    URI 中必须有一个/index.php。而规则本身:

    RewriteRule ^$ /Welcome [L]
    

    URI 必须匹配 ^$,这意味着它必须完全是 /。而/ 永远不会是/index.php,因此该规则立即无效。也许您正在考虑非此即彼?

    Options +FollowSymLinks
    RewriteEngine On
    RewriteCond %{HTTP_REFERER} !^mydomain\.co\.uk$ [NC]
    RewriteRule ^(index\.php)?$ /Welcome [L]
    

    这将匹配引用者而不区分mydomain.co.uk,并将//index.php重写为/Welcome

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多