[英]mod_rewrite not working when page exists with same name
我有一個列出所有襯衫的shirts.php頁面,然后有一個product.php?id = X頁面,其中顯示了各個產品信息。
如果我這樣寫規則:
RewriteRule ^mens_shirts/([0-9]+)$ product.php?id=$1 [L]
輸入的URL是mens_shirts/22
它將正確顯示帶有干凈URL的產品頁面。
但是,如果我編寫如下規則:
RewriteRule ^shirts/([0-9]+)$ product.php?id=$1 [L]
輸入的URL為/shirts/20
,而不顯示產品頁面,而是顯示shirts.php。
試試看:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
RewriteRule ^shirts/([0-9]+)$ product.php?id=$1 [NC,L]
我相信發生這種情況是因為您已啟用MultiViews
,通過禁用它,它應該可以讓您執行所需的操作。 為什么,請在這里閱讀。
FollowSymLinks
服務器將遵循此目錄中的符號鏈接。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.