如何编写此URL重写规则?

时间:2009-11-21 07:52:10

标签: apache url-rewriting

使用LAMP,是否可以编写重写规则来重定向URL,如下所示?

http://example.com/topic/142 -> http://example.com/static/14/142.html

- 编辑 -

规则是将ID的前2个数字作为文件夹名称,然后 ID .html

3 个答案:

答案 0 :(得分:4)

尝试此规则:

RewriteEngine on
RewriteRule ^topic/(([0-9]{2})[0-9]*)$ static/$2/$1.html

答案 1 :(得分:0)

是否可能,是的,当然。

RewriteRule /topic/(.+) /static/14/$1.html

但是,每次都会给你/14/部分。只要您没有提示,此部分就会在原始网址中进行编码,则无法更改此内容。

答案 2 :(得分:0)

RewriteEngine on
RewriteRule ^(([0-9]{1,2})[0-9]*)$ /$2/$1.html

贪婪匹配意味着如果第一个选择器可用,它将拾取两个字符。

但是,我不确定您的规则是否有意义,因为第14,140-149和1400-1499页将位于同一目录中。将0-99,100-199等放在同一目录中可能更有意义吗?

RewriteEngine on
RewriteRule ^([0-9]{1,2})$ /0/$1.html
RewriteRule ^(([0-9]+)[0-9]{2})$ /$2/$1.html
相关问题