使用.htaccess使用变量重写URL

时间:2014-06-01 04:05:16

标签: php apache .htaccess url-rewriting

我正在尝试从我制作的网站重写网址,但我不是使用.htaccess的专家。基本上我正在尝试这样做:

Localhost测试环境(WAMP):

http://127.0.0.1/project/index.php?p=home&l=en

进入这个:

http://127.0.0.1/project/en/home/

我做了类似的事情,但我知道这不正确:

RewriteEngine on
RewriteRule ^$2/$1/$ /index.php?p=$1&l=$2 [L]

实现这一目标的正确方法是什么?

2 个答案:

答案 0 :(得分:1)

你不能在模式中使用$ 1,$ 2等。您必须使用如下括号:

RewriteRule ^(.+)/(.+)/$ /index.php?p=$2&l=$1

在重写的URL中,$ 1和$ 2分别对应于它们在正则表达式中出现的顺序。

答案 1 :(得分:0)

您也可以尝试以下

RewriteRule ^([0-9A-Za-z]+)/([a-zA-Z0-9_-]+)$ /index.php?p=$2&l=$1 [L,QSA]