apache重定向查询字符串

时间:2013-08-17 09:03:32

标签: php mod-rewrite

如果用户去,我正在尝试重定向(book_id和course_id数字不是常数):

  

www.mydomainname.com/admin_stuff/add_student.php?book_id=20&course_id=30

使用以下方式访问安全链接:

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^book_id=([0-9]*)&course_id=([0-9]*)$  
RewriteRule add_student.php https://mydomainname.com/admin_stuff/add_student.php?%1 [R=301,L]

其中重定向位于admin_stuff文件夹内的.htaccess文件中。

发生重定向时,会转到:

  

https://mydomainname.com/admin_stuff/add_student.php?1

而不是

  

https://mydomainname.com/admin_stuff/add_student.php?book_id=20&course_id=30

任何帮助我指向正确方向的人都将不胜感激。

  • 埃里克

1 个答案:

答案 0 :(得分:1)

将您的.htaccess代码更改为

RewriteEngine on

RewriteCond %{QUERY_STRING} ^book_id=([0-9]*)&course_id=([0-9]*)$ [NC]
RewriteRule add_student.php https://%{HTTP_HOST}%{REQUEST_URI} [R=301,NC,L]

这确保除了协议之外没有任何关于URL的更改。