HTML表单和mod_rewrite

时间:2011-12-24 05:57:42

标签: php html apache mod-rewrite get

好的,我一直试图解决这个问题。我刚刚想出了如何使用apache的mod_rewrite规则。我在我的网站上设置了搜索脚本,它使用GET。我有一个带有GET方法的html表单。问题是,当我提交表单时,我的网址就像这样:http://localhost/search/?search=name&term=user应该是这样:http://localhost/search/name/user

有没有办法让网址像第二个?我正在使用php。

这是我的htaccess文件:

RewriteEngine on
RewriteRule ^member/?([^/\.]+)?/?$ member.php?page=$1 [L]
RewriteRule ^games/?([^/\.]+)?/([^/\.]+)?/?$ games.php?page=$1&p=$2 [L]
RewriteRule ^search/?([^/\.]+)?/([^/\.]+)?/?$ search.php?search=$1&term=$2 [L]
RewriteRule ^([^/\.]+)/?$ index.php?page=$1 [L]

谢谢, Legobear154

2 个答案:

答案 0 :(得分:2)

这与mod_rewrite无关。你需要使用JavaScript。

为表单创建 onsubmit 事件处理程序。并在javascript函数中根据表单数据修改表单URL。

答案 1 :(得分:0)

请尝试以下方法: -

Options +FollowSymlinks
RewriteEngine on
RewriteRule ^member/([^/]+)/ member.php?page=$1 [NC]
RewriteRule ^games/([^/]+)/([^/]+)/ games.php?page=$1&p=$2 [NC]
RewriteRule ^search/([^/]+)/([^/]+)/ /search.php?search=$1&term=$2 [NC]
RewriteRule ^([^/]+)/ index.php?page=$1 [NC]

希望它有所帮助。