【发布时间】:2013-03-16 09:27:38
【问题描述】:
当使用特定的子域链接格式时,我试图让我的子域的访问者只直接进入。我知道这也会阻止 SE,但我不希望子域被索引。
允许的链接应如下所示:
subdomain.maindomain.com/aaa/bbb/ccc
应该改写成这样:
subdomain.maindomain.com/index.php?a=aaa&b=bbb&c=ccc
所有不属于这种形式并且来自空或外部引荐来源的东西都应该转到主域并且没有变量:
maindomain.com/
我尝试了各种配置,我在子域文件夹中的最后一个 .htaccess 文件如下所示:
RewriteEngine on
RewriteRule ^/?(\w{3})/(\w{3})/(\w{3})$ index.php?a=$1&b=$2&c=$3 [S=1,L]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?maindomain\.com [NC]
RewriteRule ^(.*)$ http://domain\.com/ [L]
但它仍然没有做我想做的事,它还将允许表单的子域请求重定向到主域,它还将 vars 作为请求添加到主域,转到此页面
maindomain.com/?a=aaa&b=bbb&c=cee
你能帮我解决上面定义的条件吗?
关于性能的第二个问题:我显然可以使用 PHP 进行此验证/重定向,您认为哪种方式更有效?
谢谢!
【问题讨论】:
标签: .htaccess mod-rewrite apache2