【发布时间】:2018-07-15 00:21:19
【问题描述】:
我有一个名为 example 的文件夹,其中包含两个文件 products.php 和 products-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]
【问题讨论】: