状況:私は、それぞれが同じPleskベースのサーバを指している複数のエイリアスドメインを持つ単一(メイン)ドメインを持っています(例えば、私はexample.com
をメインとして、 something.net
,anotherone.co.uk
、およびいくつかはすべてメインドメインアカウントのエイリアスとして)。つまり、エイリアスのアドレスバーにドメイン名を入力すると、メインドメイン(example.com
)のアカウントに直接移動します。ドメインエイリアスの書き換えルール
が問題:エイリアス(ES)のドメイン名に基づいて、私はそれぞれ異なるドメインにリダイレクトindex.php
を持っている(例えば、企業サイトにリダイレクトするドメインAに要求し、ドメインBには、感謝のサイトに行きます等)どのドメインのURL(すなわちsomealias.com/something
)の後にディレクトリが追加された場合は、404 not found
というエラーが発生します。
私が本当に感謝しているのは、誰かが私を助けてくれるならば、基本的にすべての後続のディレクトリやGETリクエストを取り除き、入力されたベースURLだけを残しておき、そのため、メインドメインのドキュメントルートにあるPHPスクリプトが引き継ぎ、リクエストを適切に処理できます。
奇妙なことに、私はどこでもこの(単純な)解決策を見つけることができませんでした。エイリアス化されたドメインごとに個別にルールを定義する必要があるのでしょうか?
こんにちは。あなたの答えに多くの感謝!私は両方のオプションを試しました。残念ながら、これらのルールはメインドメインのトップレベルのvhost設定ファイル(ルートレベルのhtaccessなど)に入っているため、RewriteBaseはDirectoryディレクティブとしてしか使用できません。どちらの例も、近いうちに、前のリダイレクトされたURI文字列の終わりにindex.phpを追加することで、ブラウザを無限ループに送ります。しかし、もう少し弾薬を与えてくれました - ありがとうございました! – WalB
1)あなたの質問に '.htaccess'タグを付けました。なぜあなたは.htaccessにルールを置くつもりがない場合にそれを使いましたか? 2)はい、RewriteBaseは設定ファイル - Directoryまたは.htaccessのみで使用することはできません。3)これらのルールは、設定ファイルに入れておけば少し変更する必要があります。 – LazyOne
@ User829303 ** httpd.conf **や他の設定ファイルに置くことができるルールで私の答えを更新しました。 – LazyOne