1

誰かがこの問題で私を助けてくれることを願っています...

htaccessファイルに次のようなRewriteRuleを設定しました

RewriteRule ^/?find/(.+)/?in/(.+)/(.+)/ /page.html?&type=$1&city=$2&state_abbrev=$3 [L,QSA]

たとえば、指定されたすべてのパラメーターを含む URL がある場合、書き換えは正常に機能します: http://www.site.com/find/doctors/in/dallas/tx/

問題は、パラメーターの 1 つが欠落している場合でも、この書き換えを機能させたいということです。たとえば、http: //www.site.com/find/doctors/ のみを入力した場合でも、「page.html」にリダイレクトし、パラメーターを完了させないようにする必要があります。その場合、 http://www.site.com/page.html?type=doctors&city=&state_abbrev=に書き込むことになります。現在、すべてのパラメーターが含まれていない URL を入力すると、RewriteRule は機能しません。この問題を解決する方法はありますか?

前もって感謝します...

4

2 に答える 2

1

ルールを次のように置き換えます。

RewriteRule ^/?find/([^/]+)(?:/in/?([^/]*)/?([^/]*)/?)? /page.html?type=$1&city=$2&state_abbrev=$3 [L,QSA]
于 2013-07-09T17:23:13.297 に答える