0

我有这个简单的 htacces 规则

RewriteRule ^entreprise-edit-(.*)-?(.*)?$  entreprise-edit.php?e_token=$1&edit=$2 [L]

所以我想要的是有这个部分:-?(.*)? 可选但它不起作用我得到一个 404 错误,重写规则仅-?(.*)?在查询页面时不使用可选部分时才有效。

4

2 回答 2

1

.* 包含 "-" 。

您可以使用 ^entreprise-edit-([^-] )-?(. )?$

于 2013-06-21T11:55:23.697 回答
0

您的规则的问题是,即使您包含第二个查询参数,它也与第一个 (.+) (greedy match) 匹配。

我认为您的 cms 正在产生 404 错误,因为 e_token 无效

尝试这个:

RewriteRule ^entreprise-edit-(.+?)(-.+)?$  entreprise-edit.php?e_token=$1&edit=$2 [L,NC]
于 2013-06-21T09:29:59.693 回答