frielndy url 与 GET 形式

frielndy url with GET form

我正在努力使 url 形成我的搜索结果 现在我的表单看起来像这样

<form action="/index.php" method=get id="wyszukaj">
    <input type="hidden" name=metoda value=search>
    <input type=text id="project" name=nazwa size=10 placeholder="Wpisz nazwę szukanej rośliny"  />
    <input type="hidden" id="project-id" />

    <a id="loop-icon" onclick="wyszukaj_submit();"></a>
</form>

当我输入 "borowka" 并点击搜索按钮时,页面显示 link:

index.php?metoda=szukaj&nazwa=borowka

但我想生产 link 那样 /search/borowka

我该怎么做? A 将此行添加到 htaccess

RewriteRule ^search/([^/\.]+)$ index.php?metoda=search&nazwa=

如果我直接在地址栏中输入/search/borowka,它工作正常 我无法从 htaccess

重定向到 /search/borowka

有人可以帮我吗?

我真的不知道 PHP 的第一件事,但你可以做的一件事是使用 JavaScript 做你想做的事。例如,您可以将 JS 函数绑定到表单的 onsubmit 事件,并让该函数按照您想要的方式构建 URL 并将用户重定向到此 URL,不是吗?

您可能需要根据您希望如何处理或翻译 szukaj 来进行一些微调...不确定您希望 metda 是固定值还是动态值,但请尝试以下操作:

RewriteCond %{THE_REQUEST} /index\.php\?metoda=(?:[^&\s]+)&nazwa=([^\s&]+) [NC]
RewriteRule ^(.+)$ /search/%1? [R,L]
RewriteRule ^search/([^/\.]+)$ index.php?metoda=search&nazwa= [L]