php获取变量清理url htaccess

时间:2013-03-16 06:23:36

标签: php wordpress url-rewriting

我有一些我在WordPress网站上使用的自定义PHP页面。我想通过GET方法使用包含几个变量的干净URL。我搜索并尝试了不同的htaccess代码变体以及下面的WordPress htaccess代码,但没有成功。

我希望用户浏览并使用的网址为www.thedomain.com/thefolder/details/123456/RES,而不是www.thedomain.com/thefolder/details.php?mls=123456&ret= RES

我已将我的代码放在根目录中的htaccess文件中。我还在details.php文件所在的目录中的htaccess中单独尝试了它。

RewriteEngine On

## WordPress code
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ./ /index.php [L]

## my code
RewriteBase /thefolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9]+)$ details.php?mls=$1&ret=$2
RewriteRule ^([a-zA-Z0-9]+)/$ details.php?mls=$1&ret=$2

1 个答案:

答案 0 :(得分:0)

您可以将QSA添加到RewriteRule标志:

RewriteRule {from-url} {to-url} [L,NC,QSA]

RewriteRule page_([0-9]+)\.html page.php?id=$1 [QSA]

将page_1.html?a = 2重定向到page.php?id = 1& a = 2

但是,请注意,因为请求page_1.html?id = 2将重定向到page.php?id = 1& id = 2,并且(在PHP中),$ _GET ['id']将为2。