Php mod_重写参数化url建议

Php mod_重写参数化url建议,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我已经搜索了很多关于这方面的优秀文章,但我还不太明白,我想我已经接近了,但到目前为止还不太清楚。我认为我对正则表达式的有限理解是阻碍我前进的原因 以下是我试图重定向的内容: 用户在浏览器中输入以下内容: 我希望重定向到的内容: 这看起来非常简单,但我还是无法理解。在您的文档\u ROOT/.htaccess文件中尝试以下代码: RewriteEngine On RewriteRule ^(appliances)/([^/]+)/([^.]+\.php)$ /$1/$3?appliance=

我已经搜索了很多关于这方面的优秀文章,但我还不太明白,我想我已经接近了,但到目前为止还不太清楚。我认为我对正则表达式的有限理解是阻碍我前进的原因

以下是我试图重定向的内容:

用户在浏览器中输入以下内容:

我希望重定向到的内容:


这看起来非常简单,但我还是无法理解。

在您的
文档\u ROOT/.htaccess
文件中尝试以下代码:

RewriteEngine On

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

尝试将其添加到文档根目录中的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]

谢谢你们,这帮我节省了很多时间。我使用了一个(*),把它弄糊涂了。我该如何授予学分?最后一个问题是如何获得学分。现在,我只是使用以下格式在php中构建所有链接?只要我记得格式就可以了。有什么方法可以做到这一点,以免与大型网站/@user3066948混淆是的,您的所有链接都需要看起来像您想要进入浏览器的链接(没有
查询字符串)。