動的URLのためのmod_rewriteルールのヘルプ
-
05-09-2019 - |
質問
うわ.. mod_rewriteのは、私は愚かな感じさせます。私はまだそれのまわりで私の脳をラップしていません。 :/
私はこのURLを持っています:
http://example.com/a/name/
...私はここでのポイントにしたいこと:
http://example.com/a/index.php?id=name
... name
はindex.php
引数としてid
ために何が渡さなっているされます。
何か
解決
あなたを開始するには:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !index.php
RewriteRule ^/?a/([^/]+)/?$ /a/index.php?id=$1 [QSA,L]
1回の書き換えチュートリアルでは、あなたのために動作しない場合は、、別してみてくださいます。
編集:ガンボの提案どおりに除外index.php
他のヒント
あなたが最後のスラッシュはオプションになりたい場合は、
、あなたがにリクエストを書き換えされているファイルを除外しなければなりません。そうしないと、あなたは素敵な無限再帰を持つことになります。
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/a/index\.php$
RewriteRule ^/a/([^/]+)/?$ /a/index.php?id=$1 [L]
ここで/a/…
で始まるが、それは/a/index.php
が/a/index.php
に書き換えられていないすべての要求を。
しかし、最後のスラッシュは必須である場合、コピー先のファイルを除外する必要はありません。
RewriteEngine on
RewriteRule ^/a/([^/]+)/$ /a/index.php?id=$1 [L]
の線に沿って多分何か
RewriteEngine on
RewriteBase /a/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/?$ index.php?id=$1 [L,QSA]
トリックを行うだろう。
私はあなたがこのURLを見てみましょうお勧めします:
http://www.dracos.co.uk/code/ apacheの書き換え-問題/ の
提示ソリューションは動作しますが、いくつか注意点があります主については、URLで説明しましたか?およびURLで#自分ます。
所属していません StackOverflow