2016-11-02 5 views
1

パラメータ.htaccessのコードQSA書き換えは、私は、イベント名、ここで=イベント名 - ここでQ へ/スケジュール/イベント/ /? /スケジュール/イベントからイベントページをリダイレクトするために、私の.htaccessを設定している

RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteRule ^event/(.*)$ event.php?q=$1 [QSA] 

ただし、その日の2番目のクエリパラメータを追加する必要があります。 /スケジュール/イベント/金曜日/イベント名-ここ 私はそのように書き換えてみました:私の新しい目的のURLがある

RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 
RewriteRule ^event/(.*)$ event.php?day=$1&q=$2 [QSA] 

しかし、私は($ _ GET)をしますprint_rたときに、すべてが日パラメータにあり、qは空です。 $ _GET ['day']は、適切なパラメータに解析される代わりに、ここにfriday/event-name-hereです。私はドキュメンテーションを見つけることはできませんでしたが、ほぼ同じことを求める同様のSA投稿(.htaccess rewrite rules for multiple parameters)が見つかりました。それは私と同じフォーマットのように見えます。しかし、私は正しく働いていません。あなたの正規表現

RewriteRule ^event/((mon|tues|wednes|thurs|fri|satur|sun)day)/(.*)$ event.php?day=$1&q=$3 [QSA] 

に2つのキャプチャグループを指定する必要が

答えて

0

は、イベント名は第三キャプチャグループによって照合されます。 2番目の数字は接頭辞に一致します。など、「月」、「火」、


無効な「曜日」をマッチングさせるリスクが第二のグループは、より一般的な

RewriteRule ^event/([adefhimnorstuw]{3,6}day)/(.*)$ event.php?day=$1&q=$2 [QSA] 
を作ることができ
+0

はありがとうございました。最初のソリューションが機能します。私は文法がほとんど理にかなっているように書き直しにアクセスするのはかなり新しいです。私は何を探すべきか分かっているので、キャプチャグループにもっと読まなければならないでしょう! – pinksharpii

関連する問題