http://doma.inとhttp://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]