.htaccessを動的相対パスを「理解」し、それらに正しくリダイレクトすることは可能ですか?その上.htaccessで動的相対パスにリダイレクトしますか?
http://domain.com/htroot/aaa/xyz
http://domain.com/htroot/bbb/xyz
http://domain.com/htroot/ccc/xyz
そして:
私のセットアップは、次のようになります。この例では、 "htroot"には変更する必要のある.htaccessが含まれています。次のサブレベル(aaa、bbb、ccc)にはa-z0-9の名前を指定でき、フォルダにはindex.php(またはリダイレクト先の.php)があります。 xyz
は、並べ替えのパラメータとして機能するはずです。次の部分を参照してください。 xyz
の部分は、「物理的な」フォルダまたはファイルとしてファイルシステム上にありません。私は達成するために必要なもの
は以下の通りです:あなたはURL
http://domain.com/htroot/aaa/xyz
にアクセスすると、それは
http://domain.com/htroot/aaa/ (or http://domain.com/htroot/aaa/index.php, either way)
のindex.phpキックでからコンテンツを取得 - >私は得ることができますがxyz
がREQUEST_URIから解析され、ページのURLが当然http://domain.com/htroot/aaa/xyz
のままである間に、それが指定する正しいコンテンツを提供するように処理します。
これまでのところ、すべてのサブレベル(aaaなど)に独自の.htaccessがある場合、これを取り除くことができましたが、これを処理するにある単一の.htaccessがある場所が必要です。私は、.htaccessの$ 0パラメータと何か関係があるかもしれないと推測していますが、わかりません。
htaccessファイルがルートにある場合、URLのhtroot部分が削除されます。 htaccessファイルは、(ハッリが説明のように)htroot内にある場合は、コードから '/' htrootを削除する必要があります。私はまた、このコードは無限ループを作成すると思います。 – Gerben
ああ、私はループを逃しました。そのために残念!ファイル/ディレクトリが存在しない場合にのみ、書き換えルールを実行するために書き換えcondsを追加しました。 'RewriteCond%{REQUEST_FILENAME}!index \ .php $'を使うことも別の可能性があります。 – Fabian
今は大丈夫です。 +1 – Gerben