我有这个简单的 htacces 规则
RewriteRule ^entreprise-edit-(.*)-?(.*)?$ entreprise-edit.php?e_token=$1&edit=$2 [L]
所以我想要的是有这个部分:-?(.*)?
可选但它不起作用我得到一个 404 错误,重写规则仅-?(.*)?
在查询页面时不使用可选部分时才有效。
我有这个简单的 htacces 规则
RewriteRule ^entreprise-edit-(.*)-?(.*)?$ entreprise-edit.php?e_token=$1&edit=$2 [L]
所以我想要的是有这个部分:-?(.*)?
可选但它不起作用我得到一个 404 错误,重写规则仅-?(.*)?
在查询页面时不使用可选部分时才有效。
.* 包含 "-" 。
您可以使用 ^entreprise-edit-([^-] )-?(. )?$
您的规则的问题是,即使您包含第二个查询参数,它也与第一个 (.+) (greedy match) 匹配。
我认为您的 cms 正在产生 404 错误,因为 e_token 无效
尝试这个:
RewriteRule ^entreprise-edit-(.+?)(-.+)?$ entreprise-edit.php?e_token=$1&edit=$2 [L,NC]