【发布时间】:2016-06-10 01:04:27
【问题描述】:
我希望将结构为 /news/categories/CATEGORY 的 URL 重定向到 /news/categories/dynamic-categories.php?category=CATEGORY
而且我在大多数情况下都可以使用这个 .htaccess 文件规则:
RewriteRule ^news/categories/([a-zA-Z0-9\s]+)/?$ /news/categories/dynamic-categories.php?category=$1 [L]
但是,在某些情况下,类别名称有空格,这会分崩离析。像 /news/categories/with%20space 这样的东西被重写到我只看到类别 GET 参数的值为 with。
然而,奇怪的是,如果我将重定向标志 ([R]) 添加到其中,则规则有效(尽管使用重定向...)并且整个类别 (with space) 都会通过.
我需要在这里更改什么?
【问题讨论】:
-
试试:
RewriteRule ^news/categories/([^/]+)/?$ news/categories/dynamic-categories.php?category=$1 [L,QSA] -
@anubhava 那也没有。对我来说,它仍然是一个词。
标签: apache .htaccess redirect mod-rewrite url-rewriting