【发布时间】:2009-12-31 19:36:10
【问题描述】:
我正在尝试编写如下所示的 URL,但是当我尝试调用 seo 查询参数时,它总是返回 index.php。知道为什么它没有为“seo”返回正确的值吗?
RewriteRule ^([^/]*)$ index.php?c=home&m=details&seo=$1 [L]
它应该转发的 URL 是这样的:http://domain.com/The-Name-of-the-Product。该 URL 应该被重写为 http://domain.com/index.php?c=home&m=details&seo=The-Name-of-the-Product,但它最终会变成 http://domain.com/index.php?c=home&m=details&seo=index.php
【问题讨论】:
-
正确的值是多少?该规则实际上意味着哪些 URL 可以匹配?看起来没有很多可以匹配的(主要是 /、//、/// 等)。你想要一个 .* 而不是一个 * 吗?
-
转发到的 URL 应该是这样的:domain.com/The-Name-of-the-Product
-
您是将 RewriteRule 放在 .htaccess 还是 httpd.conf 文件中?您还定义了哪些其他 RewriteRules(请按顺序发布)?
-
重写规则在 .htaccess 中
-
对你想要的行为和你得到的行为的描述可能会更清楚一点。您希望将
http://domain.com/The-Name-of-the-Product重写为http://domain.com/index.php?c=home&m=details&seo=The-Name-of-the-Product是否正确,但它最终为http://domain.com/index.php?
标签: .htaccess mod-rewrite