2016-10-16 7 views
1

私はこのコードを経由してURL書き換えをやろうとしている:nginxのは拡張子.phpで作業していないリライト

location ~ /canada1/[A-Za-z0-9-_]+/.* { 
     rewrite ^/canada1/([A-Za-z0-9-_]+)/.* /atemplates/weather/weather_forecast.php?region=$1&location=$arg_db last; 
} 

このURLを使って:私は、問題を絞り込むまし

/canada1/bc_british_columbia/weather.php?db=90 

.php部分。どのようなものであれ、それを置き換えるには、期待通りに動作します。つまり、.phd .phq .abcdefg ...うまく動作します。その.php拡張子で書き直すには、何をする必要がありますか?

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

参考:How to rewrite old url with a period, question mark and equals in it?

答えて

1

正規表現の場所のブロックを順に評価されています。

あなたはlocation ~ /canada1/[A-Za-z0-9-_]+/.*location ~ \.php$よりも優先したい場合は、設定ファイルで、前の最初の1 秒1を配置する必要があります。例えば

location ~ /canada1/[A-Za-z0-9-_]+/.* { 
    ... 
} 
location ~ \.php$ { 
    ... 
} 

詳細はthis documentを参照してください。

+0

ああ...ありがとう、リチャード、魅力的なように働いた。私はそれがロケーションオーダーのような単純なものだったことをうれしく思っています...それらの小さなものは私を一息上げさせる傾向があります* –

関連する問題