Url rewriting 用简单的英语重写URL是如何工作的

Url rewriting 用简单的英语重写URL是如何工作的,url-rewriting,seo,request,response,Url Rewriting,Seo,Request,Response,我读了很多关于URL重写的书,但我还是不明白 我知道像这样的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代码中可能有如下链接:

我读了很多关于URL重写的书,但我还是不明白

我知道像这样的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的目的

URL重写(使用过滤器或其他东西)是否也会替换HTML中的此内容

换句话说。。。重写规则是否适用于传入请求以及响应的HTML内容


谢谢大家!

URL重写器只接受传入的URL,如果它与某个模式匹配,它会将其转换为服务器能够理解的URL(假设您的重写规则是正确的)

这确实意味着可以通过多种方式访问特定的资源,但这并不能“挫败这一点”,因为关键是要有好看的URL,而您仍然需要这样做


它们不会重写传出的内容,只重写传入的URL。

好的,那么我该如何处理HTML中的HREF呢?如何替换这些链接?@userUMB-您必须更改HTML或生成它的任何内容以输出“好”链接。@userUMB您可以使用相对路径([href,includes,images,etc]到根目录)链接,而不是绝对避免每次更改URL重写时都必须更改它们。(例如href=“/pages/services.html”)。图像和其他元素也是如此。