现在,当加载新的详细信息页面时,我得到的 url 为 h-6ren">
gpt4 book ai didi

php - .htaccess SEO 动态网址不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:48:10 26 4
gpt4 key购买 nike

我有一个带有查询字符串链接的页面,该查询字符串加载另一个页面的查询结果。

a href="news-detail.php?nrf=<?php echo $ntitle; ?>"><?php echo "<img src=newsimgs/thumbs/".$nphoto1.">" ?></a>

现在,当加载新的详细信息页面时,我得到的 url 为

https://www.xyzee.org/news-detail.php?nrf=Testing

但我希望它加载为

https://www.xyzee.org/news-detail/Testing

我在网上查找了有关 mod_rewrite 的教程并尝试了不同的示例,但由于我无法理解的原因,我无法让它工作。我尝试过的示例代码之一是

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^news-detail/([A-Za-z0-9-]+) news-detail.php?nrf=$1 [NC]

</IfModule>

当我单击加载详细信息页面的链接时,这应该会起作用,但它不会。该页面仍然加载链接为 https://www.xyzee.org/news-detail.php?nrf=Testing

当我直接在浏览器中输入时,https://www.xyzee.org/news-detail/Testing ,页面实际加载但指向 css、js、图像等的链接都已损坏。我已经尝试了很多方法来解决这个问题,但似乎找不到解决方案。问题是与查询字符串的链接还是其他问题,我只是不知道。任何帮助将非常感激。提前致谢。

最佳答案

使用 mod_rewrite 不会替换文档中的链接。您必须在自己的代码中执行此操作:

<a href="news-detail/<?php echo $ntitle; ?>"><?php echo "<img src=newsimgs/thumbs/".$nphoto1.">" ?></a>

之后,您还必须更新外部资源的路径,因为被调用的页面现在位于子目录中。所以你可以附加 ../详细信息页面中包含的所有客户端资源。

为防止这种情况,更好的方法是使用绝对路径或添加 <base />到页面的标题。

关于php - .htaccess SEO 动态网址不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50698891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com