2011-04-14 130 views
0

我有一些在我的.htaccess文件中使用重寫引擎的代碼,它指定了我SERP的目錄。但是,當有人進入搜索/ QUERY /而不是搜索/ QUERY/PAGE /它會顯示404錯誤。與搜索/相同。.htaccess重寫重定向

我希望它這樣,如果有人只是去搜索/ QUERY /它重定向他們搜索/ QUERY/1 /和只搜索/它會將其重定向到我的主頁/。我已經在下面包含了我的代碼的副本。

RewriteEngine on 
RewriteRule ^search/([^/]+)/([^/]+)/?$ search.php?q=$1&category=web&d=$2 

任何人都可以幫我解決這個問題嗎?

由於提前,卡勒姆

回答

0

試試這個代碼在你的htaccess:

RewriteEngine on 
RewriteRule ^search/?$/[R=301,L] 
RewriteRule ^search/([^/]+)/?$ /search/$1/1/ [R=301,L] 
RewriteRule ^search/([^/]+)/([0-9]+)/?$ search.php?q=$1&category=web&d=$2 [NC,L] 
0

您可以創建多個RewriteRule語句來做到這一點。 (請務必省略中間上規則的[R]標誌,如果你使用它!)

你貼只會重寫,如果它的形式/search/query/n/的規則,所以寫一個正則表達式匹配search/query重定向到/search/query/1。做同樣的重定向家庭沒有查詢。

0

在.htaccess文件試試這些額外的2個規則:

RewriteRule ^search/([^/]+)/$ /search/$1/1/ [R=301,L] 
RewriteRule ^search/?$/[R=301,L]