【发布时间】:2011-03-09 11:04:06
【问题描述】:
我有一个按类别列出产品的目录。如果存在_GET 变量,则在查询中使用它。我想使用“漂亮的网址”,例如:example/a/1/b/2/c/3/d/4 变为 example/index.html?a=1&b=2&c=3&d=4
我看到的大多数 .htaccess 示例仅使用变量来替换 _GET 值,但我可以使用如下规则:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.html?$1=$2&$3=$4&$5=$6 [L]
RewriteRule ([^/]+)/([^/]+)/([^/]+)/([^/]+)$ index.html?$1=$2&$3=$4 [L]
RewriteRule ([^/]+)/([^/]+)$ index.html?$1=$2 [L]
它可以工作......但是,当我添加越来越长的RewriteRules(比如&17=$18)时,它会停止工作。链中的最后一个变量会根据先前的值变成某种数组(在上面它将构建index.html?a0=a1&a3=a4)...
- 有没有更好的方法来做到这一点?
- 似乎效率低下?
-
.htaccess中的变量数有限制吗 - 规则可以有多长?
谢谢!
【问题讨论】:
标签: apache .htaccess mod-rewrite friendly-url