使用php和mod_rewrite将php搜索网址更改为短网址

时间:2012-04-13 10:29:27

标签: php mod-rewrite seo

我的搜索网址很长,如何使用php&更改为短网址mod_rewrite?

我的网址:

mydomain.com/gosearch.php?page=1&random=742&title=test&loc1=ANY&loc2=ANY&loc3=ANY&t=ALL&st=3&app=5&image=ALL

我喜欢:隐藏所有页码后(在e.x中为1)

     mydomain.com/search/1/

OR

     mydomain.com/search/1/742/test/ANY/ANY/ANY/ALL/3/5/ALL

感谢。

1 个答案:

答案 0 :(得分:3)

你可以做这样的事情

RewriteEngine On
RewriteRule ^search/(.*)/(.*)/ /gosearch.php?page=$1&random=$2 [L]

但它可能会非常难看,最多只能使用9个参数

更好的是将所有要搜索的流量重定向到php脚本(gosearch.php),然后在php中解析请求和/或查询字符串并进行适当处理,例如

RewriteCond %{REQUEST_URI} ^/search(.*)$
RewriteRule . /gosearch.php [L, QSA]

然后在gosearch.php

<?php

    $paramaters = explode( '/', $_SERVER['REQUEST_URI'] );

    print_r( $parameters );
?>

从那里拿走

P.S。 QSA将添加/ search / 1 /中的任何查询字符串,以便通过$_GET / $_REQUEST

以常规方式访问查询参数