重写/ word /?q =术语/ word / term

时间:2014-10-20 12:03:56

标签: apache .htaccess mod-rewrite redirect rewrite

我目前在我的htaccess中有这个:

RewriteEngine on
RewriteRule ^/?word/(.*)$ /word.php?$1 [L]

这让我可以访问一个网址,例如http://www.example.com/word/term,我的php脚本会为关键字term

执行一些数据库工作

但我正在尝试添加一个搜索表单,该表单目前是http://www.example.com/word/?q=term,而我的php脚本正在?q=term上进行数据库查找,而不仅仅是term

我的表单操作将转到/word/,我的方法是get

我可以添加重写以将/word/?q=term重写为/word/term吗?

感谢

1 个答案:

答案 0 :(得分:1)

  

我可以添加重写以将/word/?q=term重写为/word/term

您可以在其他规则之前添加规则:

Options -MultiViews
RewriteEngine on

RewriteCond %{QUERY_STRING} ^q=([^&]+) [NC]
RewriteRule ^/?(word)/?$ /$1/%1? [L,R]

RewriteRule ^/?word/(.*)$ /word.php?$1 [L]