2011-08-05 47 views
-1

ApacheのMod Rewriteを理解しようとしていますが、これまで動作していません。ここに私がやろうとしていることがあります。Apache .htaccessクエリ文字列をスラッシュで書き直します

私のサイトのルートディレクトリには、すべてのページのテンプレートであるindex.phpがあります。私はディレクトリに自分のファイルを整理できるようにしたいのですが、クエリ文字列にはスラッシュが付きます。

そう...

http://www.example.com/page.html 

でなければなりません...

http://www.example.com/index.php?url=page 

と...

http://www.example.com/directory/page.html 

でなければなりません...

http://www.example.com/index.php?url=directory/page 

私は私がちょうど束を入れることができます知っている作業が、私は深いn個ディレクトリを行くことができるようにしたい...

http://www.example.com/directory1/directory2/page.html 

が...

http://www.example.com/index.php?url=directory1/directory2/page 

なければならないことを持っています私は行きたいと思っていますが、最初の/後に何かを置くRewriteRuleという行は、クエリ文字列と見なされますか?

これは私がこれまで持っているものである

...舞台裏

RewriteEngine on 
RewriteRule ^([a-z-]+)\.html$ index.php?url=$1 
RewriteRule ^faculty/([a-z-]+)\.html$ index.php?url=faculty/$1 

、PHPは、URLが指定された場所にあるファイルを含めています。

答えて

1
  1. これは、ユーザーから渡された名前のファイルを含めることは悪い考えです。少なくともSTRONG検証を実装してください。そうでなければハッキングを準備してください。

  2. あなたはまだこれを使用したい場合は - ここでは、ルールは次のとおりです。

    RewriteRule ^(.+)\.html$ index.php?url=$1 [QSA,L]

0

これはindex.phpに終わる.htmlを使って何をリダイレクトする必要がありますか?URL =何も

www.example.com => index.phpを?URL = www.example.com/test1/test2 => index.phpを?URL = TEST1/TEST2

 RewriteRule ^([a-z-]+)\.html$ index.php?url=$1 [L,NC] 
関連する問題