2016-02-25 63 views
0

我在從godaddy共享Linux託管計劃,試圖讓mod_rewrite工作。網址/products/4應該在/products/?id=4處顯示頁面,但它會返回404文件找不到的錯誤。apache mod_rewrite規則匹配但返回一個404錯誤

下面是產品文件夾中的.htaccess文件:

Options -Multiviews 

RewriteEngine On 
RewriteRule "products/([0-9]+)/" "products/index.php?id=$1" [L] 

有任何日誌中沒有錯誤。爲什麼這不起作用,是我做錯了什麼?

回答

0

你必須定義,例如啓動和模式的結束:

RewriteRule "^search/(.*)$" "/search.php?term=$1" 
+0

感謝您的快速響應。我添加了脫字號和美元符號但沒有改變。我還嘗試了在開始和結束時使用和不使用正斜槓,但仍然無法正常工作。 – LEGEND383

0

想通了一些睡眠之後(事實證明,這是必要的)。移動劇本在/products/index.php/products.php,把下面的/.htaccess

RewriteEngine On 
RewriteRule "^products/([0-9]+)/?$" "products.php?id=$1" [L] 

現在/products/{id}正確地改寫爲/products.php?id={id}