1

私はウェブサイトを持っています。例: mydomain.com

次に、他のドメインを持っています

このようにして、ユーザーが mydomain.net または .org にアクセスすると、メイン Web サイト (mydomain.com) の /domain/index.php ファイルからリダイレクトされます。

ユーザーがmydomain.net/somefileまたはmydomain.net/somedir/somefileと入力した場合を除き、すべて正常に動作します。これらの場合、ユーザーは 404 エラー メッセージを受け取ります。

私の質問は: ドメイン以外の URL からすべてを削除する方法 (htaccess を使用) があります (この方法では、ユーザー タイプ mydomain.net/somefile または mydomain.net/somedir/somefile が /domain/ によって通常どおりリダイレクトされる場合)。 index.php ファイル)?

4

1 に答える 1

3

.htaccessこれをWeb ルート/ディレクトリに追加します。

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} !^(www\.)mydomain\.com$ [NC]
RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^ domain/index.php [L]

404これにより、任意のドメイン (mydomain.com を除く) のすべての がインターセプトされ、 からの要求が処理され/domain/index.phpます。アドレスバーの URL も変更したい場合。たとえば、リダイレクトフラグを次のmydomain.net/somefileように使用するmydomain.net[R]

RewriteRule ^ http://%{HTTP_HOST}/ [R=301,L]


/ドメイン/.htaccess :

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d # not a dir
RewriteCond %{REQUEST_FILENAME} !-f # not a file
RewriteRule ^ http://%{HTTP_HOST}/ [R=301,L]

%{HTTP_HOST}.com非ドメインのみが にマップされているため、条件は破棄されました/domain

于 2013-10-03T14:28:36.137 に答える