0

Apacheのファイルを使用して、 への URLをhtaccess試みています。rewritehttp://example.com/page.php?v1=abc&v2=defhttp://example.com/abc/def

これまでのところ、私は持っています:

Options +FollowSymLinks
RewriteEngine on
RewriteRule case-study/(.*)/(.*)/(.*)/(.*)/$ /case-study.php?$1=$2&$3=$4

しかし、これは実際のファイルpage.phpを URL を変更せずに提供するだけのようです。

これを行う適切な方法、または上記の何が問題なのかを誰かが知っていますか?

4

1 に答える 1

3

あなたはそれを逆に持っています。書き換え元が最初で、次に変更先が最後になります。以下は正確ではないかもしれませんが、必要なものに近いはずです:

RewriteCond {%QUERY_STRING} ^v1=(.*)&

RewriteCond {%QUERY_STRING} v2=(.*)$

RewriteRule case-study.php /case-study/%1/%2/

詳細については、RewriteRule のドキュメントを参照してください

ルールと置換での先頭のスラッシュの使用は、それを使用しているコンテキストに依存することに注意してください (リンクされたドキュメントを参照してください)。上記の例では、%1 と %2 は、1 番目と 2 番目の RewriteCond のキャプチャ グループを参照しています。そのアプローチを説明するページは次のとおりです:クエリ文字列パラメーターに基づく mod_rewrite

于 2013-01-16T16:40:39.817 に答える