2011-05-26 17 views
0

私はURLといくつかの問題を抱えている私はそれ作ってみましたApacheと書き換えURL問題

News/?a=shownews&id=53 

index.php?m=News&a=shownews&id=53 

にそのURLにtrasform必要

を書き換える:

RewriteRule ^([A-Za-z0-9_]+)/\?(.+?)$ index.php?m=$1&$2 [R] 

でも動作しません私はそれを修正するために私をelp?

答えて

0

EDIT:? 私はその裏を取る - どうやらあなたのケースでこれを行うことが可能である

RewriteRule ^(.+)/$ index.php?m=$1 [QSA] 
+0

はい私はそれを作った直後 RewriteRule ^([A-Za-z0-9 _] +)/?$ index.php?m = $ 1 [QSA] 私はあなたの返信をすべてとにかく見た – oscurodrago

0

Apacheは新しいURLを構築するために$ _GETパラメータを使用できません。 URLの構造を変更する必要があります。 Apacheのドキュメントから

+0

私はちょうど分割したい利用の$ _GETをしたくないあぁその ニュース/ A = shownews&ID = 53 に $ 1 =ニュース $ 2 = a = viewedews&id = 53 これをindex.phpに結合するにはm =ニュース&a =見出しとID = 53 – oscurodrago

+0

あなたのURLには何の疑問符がありますか? – MatTheCat

0

:デフォルトでは

は、クエリ文字列は変更されずに通過 を渡されます。ただし、 のURLは、クエリ文字列部分を含む置換文字列 に作成できます。 置換文字列内に疑問符を使用して、 という文字列を追加すると、次のテキストが がクエリ文字列に再挿入されるはずです。 既存の クエリ文字列を消去する場合は、代入記号 を疑問符だけで終了します。 に新しいクエリ文字列と古いクエリ文字列を結合するには、 [QSA]フラグを使用します。

[QSA]フラグを使用すると、そのままURLを再配置することができ、既存のクエリ文字列パラメータが追加されるか、渡されます。

これが役に立ちます。