1

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

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

这是我的代码:

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

1 回答 1

2

您可能会收到 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

于 2012-09-27T09:50:43.430 回答