我有一个名为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 / )作为URL上的URL时,我不会无误地导航回到products-list.php
浏览器生成为 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]
答案 0 :(得分:0)
这与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>";
?>