【问题标题】:Rookie Url Rewriting菜鸟网址重写
【发布时间】:2015-12-25 04:19:30
【问题描述】:

正如标题所说,我是“URL 重写”领域的新手,我想问一个可以帮助许多像我一样的人的问题。

假设我们有一个这样的网址:

http://myepicsite.wow/index.php?value_x=1&value_y=2&value_z=3

如何在不为从这些 _GET[] 变量生成的每个页面编写一行代码的情况下将此 url 重写为类似这样的内容(seofriendly)? :

http://myepicsite.wow/index.php/1/2/3

【问题讨论】:

    标签: php .htaccess url mod-rewrite seo


    【解决方案1】:

    试试:

    RewriteEngine On
    RewriteRule ^index\.php/([^/]+)/([^/]+)/([^/]+)$ /index.php?value_x=$1&value_y=$2&value_z=$3 [L,QSA]
    

    那么你只需要确保你的链接看起来都像http://myepicsite.wow/index.php/1/2/3

    但是,即使没有重写规则,您也可以从 index.php 中读取这些内容。在您的 index.php 脚本中,您应该能够读取 $_SERVER['PATH_INFO'] 变量并看到 /1/2/3,然后将其分解为一个数组并将它们分配给 value_x/y/z 变量。

    【讨论】:

    • 同意,但我认为重写它更干净:)
    • 重写它的工作正常但是当我这样做时,例如:var_dump($_GET); $_GET 为空。
    【解决方案2】:

    尝试将此添加到您的.htaccess

     RewriteEngine On
     RewriteCond %{HTTP_HOST} ^myepicsite.wow [NC]
     RewriteRule ^(.*)$ http://myepicsite.wow/$1 [L,R=301]
     RewriteRule ^index.php/(.+)/(.+)/(.+)/?$  index.php?value_x=$1&value_y=$2&value_z=$3&%{QUERY_STRING} [L]
    

    【讨论】:

      猜你喜欢
      • 2016-03-10
      • 2010-10-08
      • 2018-07-31
      • 1970-01-01
      • 2011-02-18
      • 2011-03-22
      • 2015-04-12
      • 2014-03-09
      相关资源
      最近更新 更多