2017-08-03 11 views
0

こんにちは私はこのようなURLを変換しようとしています。ApacheのURLセグメントとクエリのパラメータを書き換えます

http://www.test.com/segment/aaa?uid=1 

これは次のとおりです。

http://www.test.com/segment/new/aaa/u/1 

これは私が思いつくことができる最も近いですが、最初の試合は単なるaaaの代わりにsegment/aaaです。私は単なるaaa部分を分離する方法を見つけることができないので、segment/aaaの代わりにsegment/new/aaaに変更することができます。これが生じること

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} ^/segment/(.*) 
RewriteCond %{QUERY_STRING} ^([up])id=(.*)$ 
RewriteRule ^(.*)$ segment/new/$1/%1/%2? [L] 

URLは次のとおりです。

https://www.test.com/segment/new/segment/aaa/u/3 

ありがとう!

+0

サブマスク '$ 1'には 'segment /'が含まれています。この正規表現 '^ segment /([^ /] *)$' – Deadooshka

+0

を試してみると、上記と同じ出力が得られます。なぜそのマッチは他の正規表現の部分の代わりに文字列全体を含むのでしょうか? – Jonathan

答えて

0

ありがとうございました!

RewriteCond %{QUERY_STRING} ^([up])id=(.*)$ [NC] 
RewriteRule ^segment/(.*) segment/new/$1/%1/%2? [L] 
関連する問題