我已经阅读了很多关于URL重写的内容,但我仍然没有得到它。
我理解像
这样的网址http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=19
可以替换为更友好的
http://www.example.com/Blog/2006/12/19/
并且服务器代码可以保持不变,因为有一些过滤器可以转换新URL并将其发送到旧URL,但它是否也会替换响应HTML中的URL?
如果服务器代码保持不变,那么在我返回的HTML代码中我可能会有以下链接:
http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=20
http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=21
http://www.example.com/Blog/Posts.php?Year=2006&Month=12&Day=22
如果在我的页面中我还有旧的URL,那么这就失去了拥有漂亮URL的目的。
网址重写(使用过滤器或其他内容)是否也会替换HTML中的此内容?
换句话说......重写规则是否适用于传入请求以及响应的HTML内容?
谢谢!
答案 0 :(得分:1)
URL重写器只接受传入的URL,如果它匹配某种模式,它会将其转换为服务器理解的URL(假设您的重写规则是正确的)。
这确实意味着可以通过多种方式访问特定资源,但这不会“失败”,因为关键是拥有漂亮的URL,您仍然可以这样做。
他们不会重写传出内容,只会重写传入的网址。