将动态URL重写为友好URL

时间:2015-08-28 15:11:18

标签: php .htaccess url-rewriting

我已经查看过很多关于如何重写动态网址的不同问题,无论出于什么原因,我都无法获得他们用来为我工作的代码。我知道我需要编辑.htaccess文件。

当前网址:example.com/search/profileview.php?storeid=1&store=aqua-addicts

理想网址:example.com/search/profileview/aqua-addicts.html

如果那是不可能的,我会对任何删除了?,&和=来自URL。以下是我目前正在尝试使用的.htaccess。

编辑:澄清不起作用 我有一个页面根据搜索条件生成结果。该页面的链接是:  这相当于 example.com/search/profileview.php?storeid=1&store=aqua-addicts

我希望能够点击该链接并将URL更改为友好版本。

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} \s/+profileview\.php\?storeid=([^&]*)&.*?store=([^&\s]*) [NC]
RewriteRule ^ profileview-storeid-%1-store-%2.html? [R=302,L]

RewriteRule ^profileview-storeid-([^-]+)-store-([^.]+)\.html$ profileview.php?storeid=$1&store=$2 [L,QSA,NE]

感谢任何帮助。我知道对某些人来说这可能是一个简单的改变,但我一直试图解决这个问题大约一天半。

2 个答案:

答案 0 :(得分:1)

试试这个。它不会自动应用重定向,但允许您删除不需要的?来自网址。

 int num = (int) Long.parseLong(hex, 16);  

然后,您可以调整固定链接,例如search / profileview / aqua-addicts.html

答案 1 :(得分:0)

试试这个

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^search/profileview/([^/]+).html search/profileview.php?storeid=1&store=$1 [L]
</IfModule>