重写搜索htaccess

hrerum 发布于 2019-02-11 .htaccess 最后更新 2019-02-11 21:14 0 浏览

我正在寻找重写搜索链接的最佳方式。在我的网站上我有:

http://domain.com/search.php?keyword=blue+widget&Search=Search
我想结束这个:
http://domain.com/blue-widget
没有数据库,只需连接html / css即可。 提前致谢。
已邀请:

est_et

赞同来自:

我想你想做更接近这件事的事情:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ search.php?keyword=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ search.php?keyword=$1
杰森的回答仅适用于一个案例。 更新: 您可以向正则表达式部分添加更多字符以允许它们。例如,要允许*,请执行以下操作:
^([a-zA-Z0-9_-*]+)$
如果有人直接在URL中使用了错误的字符,您可以将它们重定向到404页面。但是,如果您基于他们在表单中键入的内容调用用户的URL,则可以在将错误字符发送到最终位于404页面并通知用户的URL之前检查该字符的值。

yet

赞同来自:

重写规则的作用相反。所以链接将是blue-widget,它将被重写为search.php

RewriteEngine On
RewriteBase /
RewriteRule ^/blue-widget$ /search.php?keyword=blue+widget&Search=Search [L]
注意:如果接受其他查询字符串参数,则需要使用QSA标志。