查询搜索和表单操作htaccess

时间:2016-02-23 19:25:49

标签: regex apache .htaccess mod-rewrite

我有这个:

http://www.example.com/en/search/?q=blabla

我想要一个漂亮的网址

http://www.example.com/en/search/blabla/

所以我的表单行动是:

<form action="search/">
<input type="text" name="q" class="input-block-level" id="exemple_search_input" autocomplete="off" required>
</form>

但是当我编辑我的.htaccess时,我遇到了一个问题:

RewriteEngine on
RewriteBase /

RewriteCond %{THE_REQUEST} /\?q=([^\s]+) [NC]
RewriteRule ^ /en/search/%1/? [NC,L,R]
RewriteRule ^search/([^/.]+)/?$ /en/?q=$1 [NC,L]

网址没问题我有http://www.example.com/en/search/blabla/但是会​​重定向到404错误页面。

你能帮帮我吗?

由于

1 个答案:

答案 0 :(得分:1)

您可以在站点根目录中使用此.htaccess:

Options -MultiViews
RewriteEngine on
RewriteBase /

RewriteCond %{THE_REQUEST} /(en/search)/\?q=([^&\s]+) [NC]
RewriteRule ^ /%1/%2/? [NE,L,R=302]

RewriteRule ^(en/search)/([^/]+)/?$ $1/?q=$2 [NC,L,QSA]