mod_rewrite参数化url建议

时间:2013-12-04 17:31:15

标签: php apache .htaccess mod-rewrite

我已经搜索了许多关于此的优秀文章,我还没有完全理解,我认为我很接近,但到目前为止并不完全。我认为我有限的正则表达式不足以阻止我。

这是我正在尝试重定向的内容:

用户将其输入浏览器:

http://www.example.com/appliances/toaster/(somepage).php

我希望重定向转到:

http://www.example.com/appliances/(somepage).php?appliance=toaster

看起来非常简单,但我还是无法得到它。

2 个答案:

答案 0 :(得分:0)

DOCUMENT_ROOT/.htaccess文件中试用此代码:

RewriteEngine On

RewriteRule ^(appliances)/([^/]+)/([^.]+\.php)$ /$1/$3?appliance=$2 [L,QSA,NC]

答案 1 :(得分:0)

尝试将此添加到文档根目录中的htaccess文件:

RewriteEngine On

RewriteRule ^appliances/([^/]+)/([^/.]+)\.php$ /appliances/$2.php?appliance=$1 [L]

如果你的/appliances/文件夹中有htaccess文件,请将其添加到其中的htaccess文件中:

RewriteRule ^([^/]+)/([^/.]+)\.php$ $2.php?appliance=$1 [L]    

为了确保您的所有链接都按照您想要的方式显示,您还可以添加以下规则:

RewriteCond %{THE_REQUEST} \ /appliances/([^/.]+))\.php\?appliance=([^&\ ]+)
RewriteRule ^ /appliances/%2/%1.php? [L,R=301]
相关问题