0

http://doma.inhttp://domain.comのような 2 つのドメインを使用しています。

短縮 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 に答える