.htaccess SEO 动态网址不起作用
.htaccess SEO dynamic urls not working
我有一个带有 link 的页面,其中包含一个查询字符串,用于加载另一个页面的查询结果。
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= [NC]
</IfModule>
当我单击加载详细信息页面的 link 时,这应该起作用,但它不起作用。该页面仍以 link 作为 https://www.xyzee.org/news-detail.php?nrf=Testing
加载
当我直接在浏览器中输入 https://www.xyzee.org/news-detail/Testing 时,页面实际加载但 link 到 css、js、图像等都已损坏。
我已经尝试了很多方法来解决这个问题,但似乎找不到解决方案。
问题是 link 与查询字符串还是其他问题,我只是不知道。
任何帮助将非常感激。提前致谢。
使用 mod_rewrite 不会替换文档中的链接。您必须在自己的代码中执行此操作:
<a href="news-detail/<?php echo $ntitle; ?>"><?php echo "<img src=newsimgs/thumbs/".$nphoto1.">" ?></a>
之后,您还必须更新外部资源的路径,因为调用的页面现在位于 sub-directory 中。因此,您可以将 ../
附加到详细信息页面内所有包含的客户端资源。
为了防止这种情况,更好的方法是使用绝对路径或将 <base />
添加到页面的 header.
我有一个带有 link 的页面,其中包含一个查询字符串,用于加载另一个页面的查询结果。
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= [NC]
</IfModule>
当我单击加载详细信息页面的 link 时,这应该起作用,但它不起作用。该页面仍以 link 作为 https://www.xyzee.org/news-detail.php?nrf=Testing
加载当我直接在浏览器中输入 https://www.xyzee.org/news-detail/Testing 时,页面实际加载但 link 到 css、js、图像等都已损坏。 我已经尝试了很多方法来解决这个问题,但似乎找不到解决方案。 问题是 link 与查询字符串还是其他问题,我只是不知道。 任何帮助将非常感激。提前致谢。
使用 mod_rewrite 不会替换文档中的链接。您必须在自己的代码中执行此操作:
<a href="news-detail/<?php echo $ntitle; ?>"><?php echo "<img src=newsimgs/thumbs/".$nphoto1.">" ?></a>
之后,您还必须更新外部资源的路径,因为调用的页面现在位于 sub-directory 中。因此,您可以将 ../
附加到详细信息页面内所有包含的客户端资源。
为了防止这种情况,更好的方法是使用绝对路径或将 <base />
添加到页面的 header.