2011-01-25 3 views
0

おそらく単純なこととが必要ですが、私は何をすべきかわからない:私はこれまではmod_rewriteの条件

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
#RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)/?$ X.php?country=$1&province=$2&region=$3&xxx=ZZZ [skip=1] 
RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?$ defaultgg.php?country=$1&province=$2&region=$3&category=$4&type=$5&prodid=$6 [L] 

私のhtaccessファイルでこれを持って、それがうまくリダイレ​​クトを行います。しかし、最後の3つのパラメータが設定されていれば、別のページにリダイレクトする部分を追加する必要があります。私はLとスキップのオプションを試しましたが、後のルールをスキップするようには動作していないように見えますので、最終的なルール(上の図)は常に実行されます。

誰かが同じようなURLを入力した場合は、http://dddd.com/ca/on/peel と表示され、次にdefaultgg ...に移動します。

誰かがURLを入力するとhttp://dddd.com/ca/on/peel/veggies/tomatoes と表示され、Peelの都市のすべてのトマトをリストしたページXに移動します。

その他 - 誰かが同じようにURLを入力した場合http://dddd.com/ca/on/peel/veggies/any 次に、Peelの都市のすべての野菜をリストしたページYに移動します。

その他 - 誰かがそういったURLを入力した場合 これらのページは、Peelのveggiesにあるprodidを持つprodのページのリストの詳細を表示します。

ルールを設定するにはどうすればよいですか?

PSおかげ

:エルス - 誰かがそうhttp://dddd.com/ca/on/peel/veggies のようなURLを入力した場合、その後、彼らはキーワードの使用ので、一般的に、その後、「野菜」に設定カテゴリと、上記のようにページdefaultggに行く「いずれかの"は、4番目、5番目、または6番目のurlフォルダのurlでスクリプトYで検索が行われますが、完全にoffにするとdefaultggに向かいます。 "any"という単語を使用すると、urlのどこかにフォルダとして存在する場合、検索をトリガすることができます。

答えて

0

私はこれでいくつかの前進を作っています:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !/any[/]* 
#go to defaultgg to narrrow search 
RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?$ defaultgg.php?aa=$1&bb=$2&cc=$3&dd=$4&ee=$5&xxx=aaa 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# do a search 
RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?([^/]*)/?$ index.php?file=searchresult&aa=$1&bb=$2&cc=$3&dd=$4&ee=$5&ff=$6&xxx=zzz

私はレガシーSmartyのベースのウェブサイトwitha働いているとにfreindly URLのサポートを追加しようとしています。サイト内のすべてのものは現在、様々なパラメータを持つindex.phpを通過します。したがって、厄介なファイル= searchresultのものです。たぶんdefaultgg.phpの代わりにindex.phpにロールしてdefaultgg.phpがindex.phpになるかもしれませんか?file = defaultgg等