我有以下htaccess规则:
RewriteRule ^listen/([^/]*)-([^/]*)/$ listen.php?pl=$1&id=$2
有时第二个参数(id(中有一个破折号,我得到404未找到,例如:
mysite.com/listen/something-293Xff4-yZ
( 身份证是293Xff4-yZ
(
问题是当我尝试获取 ID 参数(使用$_GET['id']
(时 - 我只得到 ID 的第一部分(破折号之前 -293Xff4
(
知道在这种情况下如何获得ID的完整部分吗?
谢谢!
您可以在RewriteRule
中使用此正则表达式:
RewriteRule ^listen/([^-]+)-([^/]+)/?$ listen.php?pl=$1&id=$2 [L,QSA,NC]
还建议在 .htaccess 顶部使用Options -MultiView
,因为它可能会导致某些默认启用它的 Apache 版本出现问题。