使用 mod_rewrite 从 GET 表单中清理 url

发布于 2024-10-01 05:06:27 字数 325 浏览 2 评论 0原文

我有一个包含 2 个字段(类别和关键字)的搜索表单。根据用户输入的网址,看起来像这样:

search.php?cat=&search=&agree=agree_terms&go=Go

我对其他页面有一些 re_write 规则,这些规则很好,但我坚持如何处理这个搜索表单,

我遇到了一个解决方案,建议将 mod_rewrite 与 php 元刷新相结合附加页。我设法让它工作,但我想到这可能不是一个搜索引擎友好的解决方案。

有没有办法可以仅使用 mod_rewrite 规则从 GET 表单中获取干净的 url?

I have a search form with 2 fields (category and keywords). Depending on the user input urls looking something like:

search.php?cat=&search=&agree=agree_terms&go=Go

I have some re_write rules for other pages which are fine but I'm stuck on how to deal with this search form

I came across a solution that suggested combining mod_rewrite with a php meta refresh from an additional page. I managed to get this to work but it occurred to me that this may not be a search engine friendly solution.

Is there a way I can have clean urls from a GET form with mod_rewrite rules only?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

七堇年 2024-10-08 05:06:27

如果您有固定数量的参数,您可以尝试以下操作:(

RewriteRule ^query/arg_1/([^/]*)/arg_n/([^/]*)/$ search.php?arg_1=\1&arg_n=\2

等等)

这会将 /query/arg_1/value_1/arg_n/value_n/ 转换为 /search.php? arg_1=value_1&arg_n=value_n,但您必须确保值被正确转义。

链接这样的“获取”URL 而不是使用默认参数或隐藏字段的实际动机超出了我的范围。

If you have a fixed number of arguments, you can try something like:

RewriteRule ^query/arg_1/([^/]*)/arg_n/([^/]*)/$ search.php?arg_1=\1&arg_n=\2

(and so on)

This will transform /query/arg_1/value_1/arg_n/value_n/ into /search.php?arg_1=value_1&arg_n=value_n, but you have to make sure values are properly escaped.

The practical motivation to link a "get" URL like this instead of using default parameters or hidden fields is beyond me.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文