如何为搜索页面添加 htaccess 规则,以便它可以在有或没有查询参数的情况下工作

问题描述 投票:0回答:1

我是否可以为搜索页面添加 htaccess 规则,以便它可以使用或不使用查询参数。我将添加下面的示例

实际文件是www.mysite.com/search.php

以下 2 个链接应该适合我

  1. www.mysite.com/search/loremipsum

  2. www.mysite.com/search/?query=loremipsum

我在 htacess 上添加的规则如下

RewriteCond %{QUERY_STRING} ^$
RewriteRule ^search/?$ search.php? [L]
RewriteRule ^search/([^/]+)$ search.php?query=$1 [L]

任何帮助将不胜感激

php .htaccess url-rewrite-module
1个回答
0
投票

您当前的 .htaccess 规则已基本完成,但您需要稍微调整它们以实现所需的行为。

这里有一个建议:

RewriteEngine On

# Match URLs without query parameters
RewriteRule ^search/?$ search.php [L]

# Match URLs with query parameters
RewriteRule ^search/([^/]+)/?$ search.php?title=$1 [L,QSA]

末尾的 QSA 标志表示“查询字符串追加”,这确保在添加 title=loremipsum 时保留现有查询参数。

© www.soinside.com 2019 - 2024. All rights reserved.