2017-08-13 108 views
1

這裏是我的規則htaccess文件。.htaccess條件重定向

RewriteRule ^admin/?$ admin/index.php 
RewriteRule ^cart/([0-9]+)/?$ cart.php?t=$1 
RewriteRule ^register$ register.php 
RewriteRule ^login$ login.php 
RewriteRule ^forgot-password$ forgot_password.php 
RewriteRule ^terms-and-conditions$ terms_and_conditions.php 
RewriteRule ^request-consideration$ request_consideration.php 

RewriteRule ^([a-z0-9\-]+)/?$ products.php?cid=$1 
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/?$ products.php?cid=$1&scid=$2 
RewriteRule ^([a-z0-9\-]+)/([a-z0-9\-]+)/([a-z0-9\-]+)/?$ product_details.php?cid=$1&scid=$2&id=$3 

ErrorDocument 404 /error_404.php 

Now the problem is when i try to redirect it say www.example.com/cart/123 it goes products.php page. I want to restrict the url www.example.com/cart/123 only. so www.example.com/cart or www.example.com/cart/abc will redirect to error_404 page. same for other also like register, login etc. 

任何幫助,將不勝感激。提前致謝。

+0

什麼是你的問題? – starkeen

+0

在這個當前的配置,如果我修改url/cart或cart/abc它將去到products.php頁面。但它的工作很好/ 123 /。但是我想要如果有人修改像/ cart或/ cart/abc這樣的url,它應該進入error_404頁面,因爲只有number被許可/ cart。 –

+0

您有相同模式的多個規則。所以第一個總是先服務。這是mod-rewrite的正常行爲。 – starkeen

回答

0

根據你的意見,你想如果/車/車/ ABC被請求的URI重定向到404頁,您可以使用下面的規則。把它放在你的htaccess的頂部之前其他RewriteRules

RewriteEngine on 

RewriteRule ^cart/?$ - [R=404,L] 
RewriteRule ^cart/[A-Za-z]+/?$ - [R=404,L] 
+0

感謝starkeen。感謝您的回覆。有用。 –