使用.htaccess和mod_rewrite改进此URL

时间:2009-09-17 11:59:22

标签: apache .htaccess mod-rewrite

我想要使用mod_rewrite缩短网址。

它最丑陋的形式如下:

/img.php?i=15&a=92

理想情况下,它看起来像:

/img/15/92

问题有时可能只是:

/img.php?i=15

在这种情况下,此人将进入:

/img/15

所以我想我需要这样的mod_rewrite:

RewriteRule ^/img/(.*)/(.*)$ /img.php?i=$1&a=$2

我认为只有当两个变量都在URL而不仅仅是缩短版本时才会起作用。

如何进行一次适用于两者的单次重写,或者如何在不取消另一次的情况下制作2?

1 个答案:

答案 0 :(得分:2)

尝试此规则:

RewriteRule ^img/([0-9]+)(/([0-9]+))?$ img.php?i=$1&a=$3

在.htaccess文件中使用mod_rewrite时,需要从模式中删除每个目录的路径前缀(在本例中为前导/)。因为mod_rewrite也会这样做,并在重写过程之后将其放回。