通过使用.htaccess文件更改url参数值

时间:2014-02-24 08:25:52

标签: php .htaccess

我的htacess代码是:

Options +FollowSymLinks

RewriteEngine on

RewriteBase /demo/kingstate/

RewriteCond %{THE_REQUEST} /detail\.php\?id=([^\s&]+) [NC]

RewriteRule ^ id/%1? [R=302,L]

RewriteRule ^id/([0-9]+)/?$ detail.php?id=$1 [L,QSA,NC].

我的网址从http://tinmandevserver.com/demo/kingstate/detail.php?id=1更改为

http://tinmandevserver.com/demo/kingstate/id/1使用htaccess文件,但我想要一个网址

喜欢http://tinmandevserver.com/demo/kingstate/propperty-house-victoria

这是我第一次使用htaccess代码。

1 个答案:

答案 0 :(得分:0)

除非为每个数字到名称值对添加一条规则(RewriteRule行),否则您无法轻松使用mod_rewrite执行从http://...?id=1(或类似)到http://.../some-long-name的查找。

您可能想要做的是使用PHP(也许是SQL)查找给定数字的名称,然后执行重定向。例如:

<?php
    $long_names = array('some-long-name','another-long-name');
    if (!empty($_GET['id'])) {
        header("Location: /demo/kingstate/".$long_names[$_GET['id']]);
        exit;
    }