【问题标题】:Redirect SEO friendly URL back to a page with normal link将 SEO 友好的 URL 重定向回具有正常链接的页面
【发布时间】:2018-07-15 00:21:19
【问题描述】:

我有一个名为 example 的文件夹,其中包含两个文件 products.phpproducts-list.php。我还有一个 htaccess 文件将 localhost/example/products.php?id=12 更改为 localhost/example/products/12/

单击products-list.php 中的链接会导航到products.php 和 将浏览器中的 URL 重写为 localhost/example/products/12/。 我的问题是,当单击重写 URL (localhost/example/products/12/) 上的链接时,我无法导航回 products-list.php 而不会出错,因为浏览器上的 URL 是生成为 localhost/example/products/12/products-list.php

这是我的 product-list.php 代码:

<?php

 echo "<a href=\"products.php?id=12\">go to product page</a>";
?>

这是我的 products.php 代码:

<?php
  echo "<a href=\"products-list.php\">back</a>";
 ?>

这是我的 .htaccess 代码:

RewriteEngine on
RewriteBase /example/

# external redirect from actual URL to pretty one

RewriteCond %{THE_REQUEST} /products(?:\.php)?\?id=([^\s&]+)\s [NC]
RewriteRule ^ products/%1/? [R=302,L,NE]

# internal forward from pretty URL to actual one
RewriteRule ^products/([^/]+)/?$ products.php?id=$1 [NC,L,QSA]

【问题讨论】:

    标签: php .htaccess


    【解决方案1】:

    这与 htaccess 无关。您在 localhost/example/products/12/ 上使用相对 URI。在此页面中,相对 URI products-list.php 重定向到 localhost/example/products/12/products-list.php。要重定向到 localhost/example/product-list.php,请使用:

    <?php
      echo "<a href=\"/example/products-list.php\">back</a>";
     ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-09
      • 1970-01-01
      • 2015-05-29
      • 2018-04-28
      • 2012-05-22
      • 1970-01-01
      • 2017-05-27
      • 1970-01-01
      相关资源
      最近更新 更多