2016-07-22 156 views
0

我知道這種類型的問題已被問及回答,我已經嘗試了幾種方法來做到這一點,但我不能讓它工作。 所以我訪問那裏我已經的產品和分頁列表的頁面,暫時更改頁面的URL是這樣的:隱藏GET參數與URL重寫.htaccess

domain.com/brands?p=2 

,我想訪問它這樣:

domain.com/brands/2 

最後的辦法我想是這樣的一個:

RewriteRule ^brands/([0-9]*)$ brands?p=$1 [L] 

,但是當我試圖訪問該頁面,我得到一個404錯誤。

那麼是否有錯誤?或者問題位於其他地方?像與這一個干涉另一個URL重寫..

+1

不是你有沒有擴展名?像.php或什麼的? – Grommy

+0

可能已經存在重寫(這將是缺少文件擴展名的一種解釋),這會干擾這種新的重寫 - 可能是*品牌*是一個目錄,並且URL實際上是* /品牌/索引.php * – CD001

+0

是的,它有一個擴展名,但是正如CD001所說,我猜這裏已經有了一個改寫。其實我使用的是CMS(prestashop),目前我並不知道原始文件的用途是什麼。 至少我知道問題不是來自我試過的規則。 –

回答

0

這裏有一個例子,你可以申請:

Rewriterule ^post/([0-9]+)/?$ /blog.php?id_blogs=$1 
0

你可以試試這個:

RewriteCond %{THE_REQUEST} /brands\.php\?p=([^\s&]+) [NC] 
RewriteRule^brands/%1? [R=302,L] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^brands/([^/]+)/?$ index.php?p=$1 [L,QSA,NC] 

使用確保爲ON RewriteEngine敘述

RewriteEngine on 
0

使用以下代碼隱藏獲取參數

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^blog/(.*)/$ /blog.php?slug=$1 [L]