.htaccess 规则不起作用

.htaccess 规则不起作用

这是我的 .htaccess 代码...第一个条件有效,另一个条件无效

RewriteEngine On
RewriteRule    ^([\w-]+)/?$    Page.php?PageID=$1    [L]    # Process parrots
RewriteRule    ^([\w-]+)/?$    Product.php?ProductID=$1    [L]    # Process parrots
ErrorDocument 404 /ChicDemure/404.php

答案1

规则中的表达式完全相同。由于 apache 不知道应该使用哪一个,因此它使用第一个匹配的表达式。

你必须让它们可区分,例如像这样:

RewriteRule    ^page/([\w-]+)/?$    Page.php?PageID=$1    [L]
RewriteRule    ^product/([\w-]+)/?$    Product.php?ProductID=$1    [L]

当然,您必须相应地更改链接。

相关内容