Mod重写,将目录作为参数附加

时间:2013-08-09 22:07:13

标签: apache mod-rewrite apache2

我想知道如何进行目录重写,无论剩下的网址是什么,目录都会作为参数附加。

例如,如果我有这样的网址:

example.com/peter/lois/stewie.php
example.com/peter/lois/brian.php?drinks=martinis
example.com/peter/lois/quagmire/meg.php

我需要他们重写

example.com/lois/stewie.php?person=peter
example.com/lois/brian.php?drinks=martinis&person=peter
example.com/lois/quagmire/meg.php?person=peter

我该怎么做呢?

谢谢!

修改

所以我在网站可用文件中实现了这样的实现:

RewriteRule ^/([a-z0-9]+)/lois(.*) /lois$2?person=$1 [QSA,L]

但不是像

那样返回
example.com/lois/stewie.php?person=peter

它像

一样回归
example.com/peter/lois/stewie.php?person=peter

所以它将参数放在url的末尾,就像它应该的那样,但它并没有丢弃早期的目录。

1 个答案:

答案 0 :(得分:0)

mod_rewrite适用于此:

RewriteEngine on
RewriteRule ^([a-z0-9]+)/(.*\.php) /$2?person=$1 [QSA,L]