URL重写是如何工作的?

时间:2009-12-17 16:04:33

标签: apache .htaccess url-rewriting

我是URL重写的新手,我有一个.htaccess文件,如下所示:

RewriteEngine On
RewriteRule     /*\.(css|js|gif|png|jpe?g)$ - [NC,L]
RewriteRule "^(.*)$"    "www/index.php?_url=$1" [QSA,L]

此代码是否只是在内部重写代码,还是应该更改为地址栏中的URL?截至目前,它并没有改变地址栏,我还不确定,但我想我可能会想要这样做的选项,用于书签目的。所以,如果有办法,请告诉我或指导我一个关于URL重写的漂亮的noob友好指南,我可以自己解决这个问题,因为我找不到它。

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

就目前而言,它只会进行内部重写。要重定向用户(从而更改其地址栏),请在标记中添加R(例如[NC,R,L][R,QSA,L]

答案 1 :(得分:2)

URL重写完全是服务器端的(除非您进行重定向)。客户端(以及它们的地址栏)将不知道服务器正在使用URL做什么。

这是一个很好的beginner tutorial,用于解释URL重写并逐步完成更复杂的示例。