我使用的是http://doma.in和http://domain.com
等2个域名缩短网址仅调用我脚本中生成的网址。来自缩短URL的所有其他呼叫都应转发到主域。这就是为什么我有这个小的mod_rewrite规则。
RewriteCond %{HTTP_HOST} ^doma.in [NC]
RewriteRule ^/?$ http://www.domain.com/$1 [R=301,L]
问题
我想禁止从缩短网址调用子文件夹。因为缩短网址也可以生成自定义网址,例如
http://www.nokia.com - > http://doma.in/nokia
如果我有一个名为“nokia”的子文件夹,它将不会被转发到目标。而不是转发它是调用子文件夹。
通过mod_rewrite转发URL是使用此规则。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-x
RewriteRule ^(.*) /redirect.php?id=$1 [L]
答案 0 :(得分:0)
你的问题有点不清楚。
如果您希望为/ nokia执行重定向,即使您有一个名为/ nokia的目录,也需要删除该行: RewriteCond%{REQUEST_FILENAME}!-d
条件说的是“如果请求的文件路径是现有目录,请不要继续。”