この形式の URL があります
www.example.com/?city_name="New-York"
そして、このURLを自動的に書き換える方法があるかどうか疑問に思っていました
www.example.com/cities/new-york
書き換え規則の使用。
この形式の URL があります
www.example.com/?city_name="New-York"
そして、このURLを自動的に書き換える方法があるかどうか疑問に思っていました
www.example.com/cities/new-york
書き換え規則の使用。
RewriteCond
クエリ文字列で aを使用RewriteRule
してから、結果を使用して a を使用します。
RewriteCond %{QUERY_STRING} ^city_name="([\w]+)" [NC]
RewriteRule (.*) /cities/%1? [L,R]
はRewriteCond
クエリ文字列に対して正規表現を実行し、パラメーターを探しcity_name
ます。NC
正規表現で大文字と小文字を区別しないようにするための、大文字と小文字を区別しないフラグです。実際のRewriteRule
ディレクティブでは、 へのパスを完全に書き換えます/cities/%1
。ここ%1
で、 は最後に成功したディレクティブから最初に一致したグループですRewriteCond
。この場合は、要求された都市のスラッグです。最後にa?
を追加してリクエストからクエリ文字列を削除し、L
とR
フラグを渡して完全な 302 リダイレクトを発行します。