2011-01-25 61 views
0

可能是一個簡單的事情,但我不知道該怎麼做:我有這個在我的htaccess的文件至今需要幫助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] 

而且它重定向良好。但是現在我需要添加一個部分,如果最後3個參數中的任何一個被設置,就會重定向到不同的頁面。我嘗試了L和跳過選項,但他們似乎沒有工作跳過以後的規則,所以我的最終規則(如上所示)始終運行。

這個想法是,如果有人輸入像這樣的網址http://dddd.com/ca/on/peel 然後他們去defaultgg ...如圖所示。

否則,如果有人輸入一個像這樣的網址http://dddd.com/ca/on/peel/veggies/tomatoes 然後他們去一個頁面X列出在皮爾市的所有西紅柿。

否則 - 如果有人輸入像這樣的網址http://dddd.com/ca/on/peel/veggies/any 然後他們進入一個頁面Y列出皮爾市的所有蔬菜。

否則 - 如果有人輸入像這樣的網址http://dddd.com/ca/on/peel/veggies/prodid 然後他們進入一個頁面Y列表在皮爾素食發現Prodid prodid的細節。

如何設置規則?

感謝

PS:否則 - 如果有人進入,像這樣http://dddd.com/ca/on/peel/veggies 然後一個url他們去到一個頁面defaultgg如上設置爲「蔬菜」類,所以一般則採用關鍵字「任何「在第4,第5或第6個url文件夾的url中將導致在腳本Y中執行搜索,但完全關閉它將直接導向到defaultgg。 我想如果使用單詞「任何」可能會觸發搜索,如果它發生在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

我的工作難熬基於傳統智者的網站,我試圖添加URL間友好的支持。現在,網站中的所有內容都通過index.php與各種參數進行匹配,因此尷尬的文件= searchresult。也許代替使用defaultgg.php我可以將它放到index.php中,所以defaultgg.php可能會變成index.php?file = defaultgg等。