2010-06-29 65 views
0
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^([a-zA-Z0-9_-]+)\.html$ product.php?pid=$1&rewrite=1&%{QUERY_STRING} [L,QSA,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^([a-zA-Z0-9_-]+)\.html$ product2.php?cid=$1&rewrite=1&%{QUERY_STRING} [L,QSA,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 

RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^([a-zA-Z0-9_-]+)\.html$ product3.php?bid=$1&rewrite=1&%{QUERY_STRING} [L,QSA,NC] 

無法訪問product2.php或product3.php文件...簡單多個產品鏈接不工作

請幫助...

+0

您可以在每條代碼行之前添加四個空格嗎?它會將其格式化爲一個代碼塊,這對其他人來說更容易閱讀。 – 2010-06-29 06:05:19

回答

0

您的所有RewriteRule定期表達式是相同的,所以它只會與第一次匹配,將URL轉換爲product.php?pid=$1&rewrite=1&%{QUERY_STRING} [L,QSA,NC],然後不做任何其他操作(L標誌指定它不會再匹配該運行的任何更多規則,然後在將URL重寫爲product.php之後,product.php將不符合下一次通過的任何其他規則)。

此外,有沒有必要添加&%{QUERY_STRING}如果你通過了QSA標誌,因爲這會自動將查詢字符串修改後的查詢字符串它從你RewriteRule獲得。

我知道您希望它能夠訪問其他兩個頁面,但您需要描述哪些輸入網址應該映射到每個特定文件,以便任何人都能夠幫助您進一步完成此操作。

相關問題