私はphpでアプリを開発していますが、かなり広い.htaccessリダイレクトを設定する必要があります。私はいくつかの読書をして、自分でRewriteCondsを書こうとしましたが、それは私の給与水準を少し上回っています-より多くの経験を持つ誰かが助けてくれることを願っています。これが私が達成しようとしていることです:
- アプリはに含まれてい
www.example.com/app/
ます。このディレクトリの上には何もリダイレクトしないでください。 - このディレクトリには、アクセスする必要のあるファイルがいくつか存在します。現在、これらは
/app/includes/*
と/app/sb_pages/*
です。これは将来変更および拡張されるため、既存のすべてのファイルを網羅する洗練されたソリューションが必要です。ファイルが見つからないときにこれらのディレクトリ内でリダイレクトがトリガーされる場合は問題ありません。私が気にするのは、リダイレクトトリガーなしで内のファイルにアクセスできることだけです。 /app/index.php
他のすべてのリクエストは、クエリ文字列で渡される末尾のURLを使用してにリダイレクトする必要があります。たとえば、へのリクエストはに/app/path1/path2/
リダイレクトする必要があります/app/index.php?path=path1/path2/
- リダイレクトは透過的であってはなりません。ユーザーがリクエストしたとき
/app/path1/path2/
、私は彼らがそこに残っていると信じてもらいたいです。URLがに変更されることはありません/app/index.php?path=path1/path2/
。
わかりやすくするために、ここで詳しく説明するいくつかのケースを示します。
/app/includes/sidebar.php
リダイレクトしないでください。/app/includes/nothing.html
存在しません-リダイレクトはOKです/app/path1/path2/
にリダイレクトする必要があり/app/index.php?path=path1/path2/
ます。ユーザーには、現在のURLがとして表示され/app/path1/path2/
ます。
私はそれを明確に説明し、ほとんどの質問を先取りしたことを願っています。説明が必要な場合は、遠慮なくお問い合わせください。助けてくれてありがとう!