0

我有一个页面 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。

4

1 回答 1

1

试试这个:

Options +FollowSymLinks -MultiViews

RewriteEngine On
RewriteBase /

RewriteRule ^shirts/([0-9]+)$ product.php?id=$1 [NC,L]

我相信发生这种情况是因为您已MultiViews启用,通过禁用它,它应该让您做您想做的事。为什么,在这里阅读。

FollowSymLinks- 服务器将遵循此目录中的符号链接。

于 2013-09-24T17:48:53.390 回答