1

我目前在 .htaccess 文件中重写索引 url 时遇到问题,我知道我是否使用

RewriteRule ^profile/([^/]*)/?$ /profile.php?x=$1 [L]

我将能够使用 www.example.com/profile/get 或 www.example.com/profile/get/ (带或不带斜杠)

但我想 www.example.com/get 到目前为止我所拥有的是

RewriteRule ^([^/]*)\/$ /index.php?x=$1 [L]

但如果我放一个 ? 在 $ 它错误之前欢迎任何答案

4

1 回答 1

2

使尾部斜杠可选将导致无限循环,因为[^/]*它将匹配任何不包含 a 的内容/,即它也将匹配index.php?x=get

您可以通过使规则有条件地应用来避免这种情况,例如通过测试请求 URI:

RewriteCond %{REQUEST_URI} !^/index\.php.*
RewriteRule ^([^/]*)\/?$ /index.php?x=$1 [L]

这样,该规则仅适用于请求 URI 不以开头的情况/index.php

于 2013-08-11T14:16:49.273 回答