我想知道如何使用Apache mod_rewrite选项将www.site.com?lang=lv&type=1&mode=2
重写为www.site.com/lv/1/2
。使用Apache重写多个变量的规则mod_rewrite
2
A
回答
0
基本重写:
RewriteEngine On
RewriteRule http://www.site.com/?lang=(.+?)&type=(\d+?)&mode=(\d+?) http://www.site.com/$1/$2/$3 [L,R=permanent]
编辑:更改重写标志来强制永久重定向
1
假设你真的想重写/lv/1/2
到?lang=lv&type=1&mode=2
(我看不出有什么理由做对面)并且没有其他重写是主动的,这应该是关键:
RewriteRule ^/([^/]*)/([^/]*)/([^/]*)$ ?lang=$1&type=$2&mode=$3 [L]
另外;如果你想将它们包含在你的URI中,你最好用更有用的信息替换那些神奇的数字。
编辑:如果真的是你想要做的对面,一看便知由马特·S.
+0
是的,我反其道而行之:P谢谢! – werd 2010-07-05 20:00:49
0
您需要单独处理URI路径和查询。如果这些参数出现在非常相同的顺序,你可以这样做:
RewriteCond %{QUERY_STRING} ^lang=([^&]+)&type=([^&]+)&mode=([^&]+)$
RewriteRule ^$ /%1/%2/%3? [L,R=301]
否则,你将需要把他们在正确的顺序使用这个规则之前,或采取每个参数在一个时间。
相关问题
- 1. Apache的mod_rewrite规则写入
- 2. Apache mod_rewrite到Nginx重写规则
- 3. Apache - mod_rewrite重写规则问题
- 4. Apache多重重写规则
- 5. PHP Apache重写规则和变量
- 6. 重写规则的mod_rewrite规则
- 7. 使用apache时重写规则的性能影响mod_rewrite
- 8. Apache的mod_rewrite规则
- 9. 如何重写规则使用mod_rewrite
- 10. 使用的.htaccess重写规则解释多个$ _ GET变量
- 11. mod_rewrite重写规则异常
- 12. htaccess mod_rewrite重写规则
- 13. Apache重写规则
- 14. Apache重写规则
- 15. 的mod_rewrite删除一个重写规则
- 16. mod_rewrite重定向规则变量问题
- 17. 使用GET变量创建mod_rewrite规则
- 18. htaccess的重写规则3个变量
- 19. 多个mod_rewrite规则
- 20. 用Apache重写规则重写URL
- 21. 重写所有查询使用mod_rewrite的重写规则
- 22. 的Apache 2.4.7重写规则
- 23. apache的重写规则
- 24. 重写规则在Apache的
- 25. Apache的mod_rewrite的规则
- 26. 重写规则 - 改多变量URL到多变量URL
- 27. Apache的mod_rewrite的重写规则在端口错误地将AWS
- 28. mod_rewrite重写规则不起作用
- 29. WAMP mod_rewrite重写规则不起作用
- 30. 重写一个Apache重定向规则
这似乎工作:在此服务器上找不到请求的URL。 – werd 2010-07-05 19:56:37
你有一个页面响应'site.com/lv/1/2'吗?你在使用某种框架吗? – 2010-07-05 20:57:00