この形式の 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 リダイレクトを発行します。