OpenCart / .htaccess - 如何从URL中删除搜索参数?

时间:2017-11-28 21:28:36

标签: php apache .htaccess mod-rewrite search

基于OpenCart 3.0.2.0建立的网站

问题:在进行搜索时,搜索结果页面中的所有链接都添加了“?search = {search_string}& description = true”。

即。如果我搜索“大红色小部件”,搜索结果列表中的所有项目都会显示如下所示的网址:

https://example.com/big-red-widget-001?search=big%20red%20widget&description=true"

选项1:通过修改OpenCart文件来删除此行为。任何人都有关于修改和修改的建议在哪里?

选项2:通过.htaccess删除额外参数。是的,我找到了一些关于删除参数的解决方案 - 例如Remove parameter from URL viac .htaccess

问题是,它完全打破了搜索功能 - 因为搜索结果页面本身使用以下参数:

https://example.com/index.php?route=product/search&search=big%20red%20widget&description=true

因此,如果实施此解决方案,即使在有效搜索时,搜索结果页面也会显示为空。

除非有办法说“在此特定网页上删除之外的这些参数”(搜索结果页)?

1 个答案:

答案 0 :(得分:0)

是的,请使用RewriteCond:https://stackoverflow.com/a/14008032/3650835

要排除文件,请尝试以下操作:

RewriteCond %{REQUEST_URI} !^/pureplantessentials\.html$

如果文件是pureplantessentials.html

,则会跳过该规则

官方文档:http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond