簡體   English   中英

需要有關mod_rewrite條件的幫助

[英]Need help with mod_rewrite conditions

可能很簡單,但是我不確定該怎么做:到目前為止,我的htaccess文件中已包含此文件

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列出在Peel中的蔬菜中發現的含有prodid的prod的詳細信息。

如何設置規則?

謝謝

PS:否則-如果有人輸入類似http://dddd.com/ca/on/peel/veggies的網址,那么他們會進入上述defaultgg頁面,並將類別設置為“蔬菜”,因此通常使用在第4個,第5個或第6個url文件夾的URL中使用關鍵字“ any”將導致在腳本Y中進行搜索,但完全不進行搜索將直接指向defaultgg。 我想如果單詞“ any”可能會觸發搜索,只要該單詞出現在url中的任何位置作為文件夾即可。

我正在與此取得一些進展:

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網站,並且正在嘗試添加友善的url支持。 該站點中的所有內容現在都通過帶有各種參數的index.php進行傳遞,因此文件= searchresult變得笨拙。 也許不使用defaultgg.php,而是將其滾動到index.php中,以便defaultgg.php可能會變成index.php?file = defaultgg等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM