如评论中所述,您有以下规则:
RewriteRule ^([^/\.]*)$ review.php?id=$1&cas=$2 [L]
$1
和$2
是在正则表达式中被匹配分组替换的反向引用,它^([^/\.]*)$
只有 1 个分组,即整个匹配。$2
由于您没有其他分组,因此将始终为空白。这也意味着这$1
将是整个匹配项(例如all-studio-methods),您将获得这样的 URI:
review.php?id=all-studio-methods&cas=
这显然不是你想要的。评论问从哪里来id=25
。它不是来自 URI /all-studio-methods
,. 所以为了重写到id=25
,它必须在 URI 的某个地方,例如:
http://domainname.com/25-all-studio-methods
然后你会有这样的规则:
RewriteRule ^([0-9]+)-([^/\.]*)$ review.php?id=$1&cas=$2 [L]
如果您真的不希望25-
在 URI 中使用 ,则需要重写 php 代码以review.php
使其不需要 id。它需要在给定cas
.
或者,您可以创建一个重写映射以映射cas
到一个 id。这将是几乎相同的事情,无论哪种情况,您都在编写代码来执行此操作。