有人可以解释下面的mod_rewrite脚本是如何工作的? 目标是捕获对probe.com的访问权限,该权限没有任何关注,并将其重定向到probewebsites.com。如果访问probe.com/anything(如probe.com/register.php),则访问将保留在probe.com中,在此情况下,将访问probe.com/register.php。试图了解mod_rewrite脚本
该脚本的作品,我只是不知道如何。
我看到第2行寻找对probe.com的访问。 然后,第3行以某种方式验证probe.com后没有任何内容。 第4行看起来像是收集反向引用,但从未使用过。 感谢您的帮助。
1. RewriteEngine on
2. RewriteCond %{HTTP_HOST} probe\.com [NC]
3. RewriteCond %{REQUEST_URI} ^/$
4. Rewriterule ^(.*)$ http://probewebsites.com/ [L,R=301]
快速的问题,在这条线'的RewriteCond%{HTTP_HOST} ^(WWW \。)?探头\ .COM $ [NC]'你不使用EXP'(WWW \。)'作为反向引用,'()'的目的就是为了将'www \ .'分组,以便'?'适用于'www \ .'分段?另外,是否有一种方法可以在不使用'()'的情况下对'www \ .'进行分组,即,如果您明确不希望该分段被选为背景参考? –
好问题。是的,它的目的是对字符序列进行分组,以便后面的'?'使它成为可选项,但是作为副作用,它也可以作为后向参考。如果您不想将其作为反向引用选取,请以“(?:www \。)?'开始组。开头的'?:'字符序列现在使它成为一个未被引用的组。 –
感谢您的解释。但是,如果出现的请求是probe.com/register.php,那么这将如何失败,以至于它不会重定向到probewebsites.com/register.php? – Steve