2011-07-25 8 views
1

私はこれについて良いタイトルを考えることができませんでした。 基本的には、私のサーバ上にmod_rewriteの設定があります。 return_urlは、ユーザーが最後にあった場所に応じて変化するであろう/login/?return_url=/home/ :それは私がこのような何かを行うことができます機能を実装する各?a=1&b=2&c=3 etc into /1/2/3/ルールを守っていないときに、ModのURL書き換えとPHPのGETを使用

になります。私は戻りURLを見つける他の方法があることを知っていますが、私はURLにそれを保持したいと思います。

私の問題は、次のように動作しないということである:/login/?return_url=/home/

しかし、/login.php?return_url=/home/が作業を行います。

なぜPHPは最初の(好ましい)状況でreturn_url変数を参照できませんか?あなたが探しているもの

RewriteRule ^(.*)/(.*)/(.*)/([A-Za-z0-9_-]+)/$ /?a=$1&b=$2&c=$3&d=$4 [L] 
RewriteRule ^(.*)/(.*)/([A-Za-z0-9_-]+)/$ /?a=$1&b=$2&c=$3 [L] 
RewriteRule ^(.*)/([A-Za-z0-9_-]+)/$ /?a=$1&b=$2 [L] 
RewriteRule ^([A-Za-z0-9_-]+)/$ /?a=$1 [L] 
+1

に行くようになる、あなたは思いませんか? – regilero

答えて

3

QSA directiveはおそらくです:

は、ここに私の現在のコードです

'qsappend|QSA'(クエリ文字列APPEND)
このフラグを追加するリライト エンジンを強制的に置換文字列の一部であるクエリ文字列を置換する代わりに、 既存の文字列に置き換えます。 書き換えルールを使用してクエリ文字列にさらにデータを追加する場合は、これを使用します。

例えば、

RewriteRule ^something/([0-9]+)$ something.php?id=$1 [QSA] 

は多分あなたは私たちのmod_rewriteルールをyouhaveを表示する場合は答えを持っているより多くのチャンスを得るでしょうsomething/9?key=valsomething.php?id=9&key=val

+0

リンクをありがとう。私はこれですべてのnewbのビットです。< 私はそのフラグを追加する方法が完全にはわかりません。私は[L]の横に置いていますか?すなわち:[L | QSA]? – Jack

+0

@Jackはコンマ( '、')で区切り、パイプ( '|')では区切りません: '[L、QSA]' – jensgram

+0

ありがとう! :D、それは魅力のように働いた:)。 – Jack

関連する問題