.htaccess mod_rewrite和Query Strings

时间:2012-03-15 22:35:50

标签: .htaccess

在我的.htaccess文件中,我有一个删除.php的规则:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

因此, /mydomain.com/page.php 变为 /mydomain.com/page / - 哪种方法正常。

现在我正在尝试使用查询字符串实现类似的功能,其中:

/mydomain.com/page.php?variable=value 变为 / mydomain / page / value /

我尝试了很多方法,我能得到的最好的是 / mydomain / page /?variable = value

1 个答案:

答案 0 :(得分:1)

你的第二条规则是

RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php

您可以将其更改为重写为这样的查询参数:

RewriteRule ^([^/]+)/([^/]+)/$ /$1.php?variable=$2