2015-09-28 111 views
1

我有一個htaccess規則,不能很好地工作,它看起來像它沒有假設幾乎所有的人,如果我只把一個規則工作正常,問題是當我插入他們所有人,在這裏是我的代碼上面。搜索表單Htacess重寫

# Search Form Url Result 
#search by category 
RewriteRule ^jobs/([^/\.]+)$ jobs.php?Category=$1 

#search by location 
RewriteRule ^jobs/([^/\.]+)$ jobs.php?Location=$1 

#search by category and location 
RewriteRule ^jobs/([^/\.]+)/([^/\.]+)$ jobs.php?Category=$1&Location=$2 

基本上每個規則是針對每種情況的,例如,如果用戶只搜索類別或位置,甚至搜索類別和位置。

+1

規則1和規則2使用相同的圖案因此只有第一個將工作。 – anubhava

+0

@anubhava對不起,我忘了改變它,但即使當我改變那裏pat瀝瀝,例如地點= $ 2,問題仍然存在。是的,只有第一名工作。 –

+0

@anubhava,我該如何解決這個問題? –

回答

0

Rule1Rule2正在使用相同的模式,即^jobs/([^/\.]+)$所以只有第一個將工作。

您必須在/jobs/之後添加適當的標識符以區分類別和位置URI。

您可以考慮:

# Search Form Url Result 

#search by category 
RewriteRule ^jobs/c/([^/.]+)/?$ jobs.php?Category=$1 [L,QSA] 

#search by location 
RewriteRule ^jobs/l/([^/.]+)/?$ jobs.php?Location=$1 [L,QSA] 

#search by category and location 
RewriteRule ^jobs/([^/.]+)/([^/.]+)/?$ jobs.php?Category=$1&Location=$2 [L,QSA] 
+1

非常感謝,完全瞭解這個問題。 –