0

我正在使用 2 个域,例如http://doma.inhttp://domain.com

缩短 URL 仅调用从我的脚本生成的 URL。来自缩短 URL 的所有其他调用都应转发到主域。这就是为什么我有这个小的 mod_rewrite 规则。

RewriteCond %{HTTP_HOST} ^doma.in [NC]
RewriteRule ^/?$ http://www.domain.com/$1 [R=301,L]

问题

我想禁止从缩短 URL 调用子文件夹。因为缩短 URL 也可以生成自定义 URL,例如

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]
4

1 回答 1

0

你的问题有点不清楚。

如果即使您有一个名为 /nokia 的目录也希望为 /nokia 执行重定向,则需要删除以下行: RewriteCond %{REQUEST_FILENAME} !-d

该条件说的是“如果请求的文件路径是现有目录,则不要继续。”

于 2013-02-06T20:57:26.757 回答