我有以下的htaccess規則:htaccess的規則參數
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^licitatii/([^/]*)/([^/]*)/?$ licitatii.php?orderBy=$1&orderByType=$2 [NC,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^licitatii/([^/]*)/?$ licitatii.php?orderBy=$1&orderByType=asc [NC,L,QSA]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^licitatii licitatii.php?orderBy=licitatii_date&orderByType=asc [NC,L,QSA]
當我使用一個錨標記這樣
<a href="/licitatii/licitatii_date/asc">Click</a>
沒有與查詢參數和情況網址。
編輯: 我不明白404,但我去這個網址後 '/ licitatii/licitatii-日期/ ASC /' 我得到這個
,而不是這個
因此,URL被改變,但沒有提供的輸出,並將其行爲像我訪問的頁面不存在(在htaccess的規則) 這是我修改htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine On
Options -Indexes
Options -MultiViews
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^cauta/([a-z0-9\+]+)-([a-z0-9\+]+)-([a-z0-9\+]+)-([a-z0-9\+]+)-([a-z0-9\+]+)-pag([0-9]+)$ cautaLucrare?cautaCategorie=$1&keyWord=$2&cautaDataFrom=$3&cautaDataTo=$4&location=$5&pager=$6 [QSA,L]
#RewriteRule ^cauta/([a-z0-9\+]+)-([a-z0-9\+]+)-([a-z0-9\+]+)-pag([0-9]+)$ cautaLucrare.php?tip_ev=$1&numar_persoane=$2&numar_stele=$3&pager=$4 [QSA,L]
RewriteRule ^adauga_anunt1 landings/landing2.php?source=adwordsLanding2 [NC,L,QSA]
RewriteRule ^adauga_anunt cumFunctioneaza.php [NC,L,QSA]
RewriteRule ^blog/([0-9a-z-/]+)-([0-9]+) blog.php?title=$1&idArt=$2 [NC,L,QSA]
RewriteRule ^blog blog.php [NC,L,QSA]
RewriteRule ^cont/detalii detalii.php [NC,L,QSA]
RewriteRule ^cont/parola-noua parolaNoua.php [NC,L,QSA]
RewriteRule ^cont/istoric istoric.php [NC,L,QSA]
RewriteRule ^cont/oferte-acceptate oferteAcceptate.php [NC,L,QSA]
RewriteRule ^login-fb loginM.php?source=fb [NC,L,QSA]
RewriteRule ^adauga-anunt landings/landing1.php?source=adwordsLanding1 [NC,L,QSA]
RewriteRule ^login loginM.php [NC,L,QSA]
RewriteRule ^facebook loginFB.php [NC,L,QSA]
RewriteRule ^cont-activat contActivat.php [NC,L,QSA]
RewriteRule ^parola-uitata parolaUitata.php [NC,L,QSA]
RewriteRule ^adauga-lucrare adaugaLucrare.php [NC,L,QSA]
RewriteRule ^adauga2 adaugaLucrare2.php [NC,L,QSA]
RewriteRule ^inregistreaza-prestator inregPrest.php [NC,L,QSA]
RewriteRule ^inregistreaza-beneficiar inregBen.php [NC,L,QSA]
RewriteRule ^contact contact.php [NC,L,QSA]
RewriteRule ^termeni-si-conditii tandc.php [NC,L,QSA]
RewriteRule ^despre-noi despre2.php [NC,L,QSA]
RewriteRule ^cauta-lucrare cautaLucrare2.php [NC,L,QSA]
RewriteRule ^cauta cautaLucrare2.php [NC,L,QSA]
RewriteRule ^admin/functii admin.php [NC,L,QSA]
RewriteRule ^admin/statistici statistici.php [NC,L,QSA]
RewriteRule ^logout logout.php [NC,L,QSA]
RewriteRule ^lucrari-active lucrariActive.php [NC,L,QSA]
RewriteRule ^cont/lucrari-active2 lucrariActive2.php [NC,L,QSA]
RewriteRule ^licitatii/([^/]+)?/([^/]+)?/$ licitatii.php?orderBy=$1&orderByType=$2 [NC,L,QSA]
RewriteRule ^licitatii/([^/]+)?/$ licitatii.php?orderBy=$1 [NC,L,QSA]
RewriteRule ^licitatii licitatii.php [NC,L,QSA]
RewriteRule ^contul-meu cont.php [NC,L,QSA]
RewriteRule ^cont2 cont2.php [NC,L,QSA]
RewriteRule ^cont/mesaj-([0-9]+) mesaj.php?id_mesaj=$1 [NC,L,QSA]
RewriteRule ^cont/mesaje-([0-9]+) mesaje.php?pager=$1 [NC,L,QSA]
RewriteRule ^cont/mesaje mesaje.php [NC,L,QSA]
RewriteRule ^cum-functioneaza cumFunctioneaza.php [NC,L,QSA]
RewriteRule ^edit-([0-9]+) editAdd.php?idAnunt=$1 [NC,L,QSA]
RewriteRule ^edit-licitatie-([0-9]+) editOff.php?idLic=$1 [NC,L,QSA]
RewriteRule ^([0-9a-z-/\)\(!?]+)-([0-9]+) page2.php?anuntTitlu=$1&idAnuntToShow=$2 [NC,L,QSA]
#RewriteCond %{REQUEST_FILENAME} !-d
#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteRule ^([0-9a-z-/]+)-([0-9]+) cautaLucrare2.php?anuntTitlu=$1&idAnuntToShow=$2 [NC,L,QSA]
RewriteRule ^categorii/([0-9a-z-/]+) categories.php?categoryToShow=$1 [NC,L,QSA]
</IfModule>
後來編輯: 經過一個小小的研究,當我訪問此網址licitatii/licitatii-date/asc
它匹配這條規則:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([0-9a-z-/]+) categories.php?categoryToShow=$1 [NC,L,QSA]
,而不是這個規則:
RewriteRule ^licitatii/([a-z-A-Z-0-9-]+)/([^/]+)/?$ licitatii.php?orderBy=$1&orderByType=$2 [NC,L,QSA]
RewriteRule ^licitatii/([a-z-A-Z-0-9-]+)/?$ licitatii.php?orderBy=$1 [NC,L,QSA]
RewriteRule ^licitatii/?$ licitatii.php? [NC,L,QSA]
如何防止匹配上面規則?
編輯: 我收到了302後,我進入網址。請求如下圖所示:
你是什麼意思什麼發生?你有404迴應嗎? – ishegg
後,我點擊它重定向我的鏈接到同一頁面和URL看起來像「/ licitatii」。它不更新的查詢參數 –
只是要清楚,你所得到的查詢參數,但是當您更改URL,他們不會改變? – ishegg