シンプルでmod_rewriteやウェブサイトのディレクトリ構造
-
19-09-2019 - |
質問
私はエージェントのためのフォトアルバムでサイトを作っています。 各エージェントは、.cssのファイルを自分のフォルダを持っています。 各エージェントdirはindex.phpをとの.cssとアルバムフォルダを持っている。
/example.com/
/agent001/
agent001.css
/000005/
index.php
main.css
/photos/
aaa.jpg
bbb.jpg
/000006/
index.php
...
/agent002/
agent002.css
/000009/
...
だから、エージェントの000005アルバムへのパスは次のようになります。/agent001/000005/index.php
私が欲しいのようなショートカット:/000005/
する転送/agent001/000005/some-title-here
私は本当に私の頭を取得することはできませんもう一つは、周りの私のディレクトリ構造です。 私は本当に私のものを整理するために、エージェントとアルバムフォルダを必要としています。 しかし、index.phpをとのmain.cssがすべて同じで、私はルートにこれらのファイルを移動する必要がありますか?
すべてのヘルプは大歓迎!
解決
これはmod_rewriteのでは不可能です。あなたは、その名前のフォルダがある場合は、エージェントのディレクトリをチェックを歩くいくつかのプログラムが必要になります。
しかし、あなたの短いURLが任意のより明確ではないことのほかに。同様のマックスS.コメントの中で述べているので、複数のエージェントがアルバムを持っている場合、どのように「マップされる必要があります/000005/
000005” ?またはすべてのエージェントのこの値は一意である?
とのindex.phpのの中央インスタンスを使用して、のあるmain.css のは、冗長性と複雑さを回避するための最良の選択です。その場合、あなたはあなたのような中央のファイルへのリクエストを書き換えるmod_rewriteを使用することができます:
RewriteRule ^[^/]+/[^/]+/index\.php$ /index.php