【问题标题】:change php search url to short url using php and mod_rewrite使用 php 和 mod_rewrite 将 php 搜索 url 更改为短 url
【发布时间】:2012-04-13 10:29:27
【问题描述】:

我的搜索网址很长,如何使用 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/

或

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

谢谢。

【问题讨论】:

  • 查询字符串没有对 SEO 不友好的地方——它们只是不那么可读,但 search/1/ 也好不到哪里去
  • 是的,但我的意思是更好的 url 外观。短网址更好。我不需要为搜索引擎优化!

标签: php mod-rewrite seo


【解决方案1】:

你可以这样做

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 );
?>

从那里拿走

附言QSA 将从 /search/1/ 添加任何查询字符串,因此可以通过 $_GET / $_REQUEST 以通常的方式访问查询参数

【讨论】:

    猜你喜欢
    • 2012-01-08
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 2012-11-12
    • 1970-01-01
    相关资源
    最近更新 更多