1

这是表格:

<form action='<?php echo $_SERVER['PHP_SELF'];?>'>
  <p><label>Movie Title:</label><input type='text' name='search'></p>
  <p><input id="submit" type='submit' value='Submit'></p>
</form>

提交表单时,当前 URL 返回如下:

localhost/movie/index.php?search=ted

我希望 URL 像这样返回:

localhost/movie/search/ted

编辑:

现在我的 .htaccess 中有以下代码:

RewriteCond %{QUERY_STRING} ^search=(.*)$ [NC]
RewriteRule ^$ /search/%1 [NC,R,L] 
RewriteRule ^search/(.+)$ index.php?search=$1 [NC,L]

这在您输入 URL时有效/movie/search/ted,但当您提交表单时,它仍然显示为/movie/index.php?search=ted

4

1 回答 1

2

重写规则不会更改 url,它们只是告诉您的服务器解释属于规则的 url,^search/([a-zA-Z0-9]+)/$例如index.php?search=$1.

如果要更改将使用的链接,则必须在 html 中进行更改<form action=''

于 2012-07-14T18:22:54.893 回答