问题标签 [url-rewriting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net - 如何在 asp.net 2 中创建友好的 url
我尝试使用 IHttpModule 并设法将 url 转换得很好,但是我所有的图像都返回了路径错误(全部通过新的 url 目录)。
解决方案是什么?
asp.net - IIS7:URL 将 http://web1.com/web1/def.aspx 重写为 http://web1.com/def.aspx
我必须将我的网站存储在我的域根目录的子文件夹中。有没有办法重写 URL,使其看起来不存储在子文件夹中?如果这是在 IIS 级别或在 web.config 中完成,对我来说并不重要。
asp.net-mvc - 使用 ASP.NET MVC 的多语言网站
在构建多语言网站(使用 ASP.NET 网络表单)时,我将使用 HTTP 模块来重写 URL,最终得到一些友好的内容(对于人类和搜索引擎),例如:
我(新手)对 MVC 的理解是 URL 应该采用以下格式
控制器/动作/标识符
因此使用 MVC 复制上述功能最终会得到类似于以下内容的 URL:
问题..
- 我可以在“控制器”部分之前的 URL 中插入国家代码吗?
- 是否可以将“产品”和“产品”映射到同一个控制器?
谢谢你的帮助
编辑: 除了下面 Panos 的回答之外,我还在ASP.NET 网站上找到了更多信息。
.net - 将 www 链接路由到 .net mvc 中的非 www 链接
似乎使用 .NET MVC 中内置的友好路由库,它可以让我们做这样的事情。
如果我想要使用 .NET MVC 中的内置内容并不明显,我希望使用 MVC 框架自动将一个以 www 开头的 url 重定向到非 www url。
iis-7 - IIS 7 中的 ISAPI_Rewrite
多年来,我一直在 Server 2003 机器上使用 Helicon ( http://www.helicontech.com/isapi_rewrite/ ) 的 ISAPI_Rewrite,并且一直很幸运。
我正在将 2003 机器上的所有站点迁移到一个新的闪亮的 Server 2008 机器上。我宁愿不购买新许可证,而且我听说 IIS 7 将具有内置功能。
所有重写都设置在 .htaccess 配置文件中,就像 Apache 的 mod_rewrite 一样。
有谁知道此功能是否已融入 IIS 7,如果是,您是否知道任何解释如何启用它的好文章?
谢谢。
asp.net - 重写路径和 IIS 集成模式
我对 IIS 7.0 的 url 重写有很大的问题。
我为我的 NET3.5/IIS7 Web 应用程序编写了简单的重写模块。这是代码的一部分。
我在 web.config 中注册了我的模块:
在使用经典 ASP 管道的 IIS 7.0 (Vista) 下,它可以完美运行,但是当我将管道模式更改为集成时,它就会停止工作。调试器/事件/日志文件中没有异常、错误和任何内容 - 只有在浏览器中没有找到该页面的消息。最奇怪的是,页面名称看起来像是从原始页面的部分拼写错误或合并到重新写入的页面。
我已经在另一台计算机上部署了我的代码(也是 vista-but x64- 和 iis 7.0),它在两种模式下都能完美运行。看起来是配置问题还是什么?
url-rewriting - 没有文件扩展名的网站网址?
当我查看 Amazon.com 并看到他们的页面 URL 时,它没有.htm
,.html
或.php
在 URL 的末尾。
就像:
http ://www.amazon.com/books-used-books-textbooks/b/ref=topnav_storetab_b?ie=UTF8&node=283155
为什么以及如何?那是什么样的扩展?
asp.net - 具有 > 1 个参数的 ASP MVC 路由
我定义了以下路线
这条路线实际上有效,所以如果我在浏览器中输入
它正确地转到 Milestone 控制器、编辑操作并传递值。
但是,如果我尝试使用 url.action 在视图中构建链接 -
我得到以下网址
它仍然有效,但不是很干净。有任何想法吗?
asp.net - 使用 Application_BeginRequest 进行 url 重写
到目前为止,我们一直在使用自定义 404 页面重写 URL:该 url 不会映射到站点中的任何文件,并且我们将 IIS 配置为将 404 错误发送到将这些 url 重定向到正确 URL 的 aspx 页面。
现在我们要停止使用重定向,所以在阅读了 Scott Guthrie 关于 Url Rewriting 的文章后,我想在 Global.asax 中使用 Application_BeginRequest。问题是我们的很多 url 都没有被重写,并且可以在没有任何干预的情况下到达正确的位置。我担心现在每个请求都必须通过 Application_BeginRequest 方法(甚至是未重写的 url),我担心这会减慢它们的加载时间。
你怎么看?使用 Application_BeginRequest 时加载时间是否存在问题?
asp.net - IIS7 和 Vista 上 ASP .NET 2 的 URL 重写问题
我有一个在 ASP .NET 2/IIS7/Vista 下运行的网站。我有一个 URL 重写模块,它允许我拥有无扩展名的 URL。为了让它工作,我配置了配置文件的 system.webServer 部分,以便所有请求都转发到 aspnet_isapi.dll。我还将 URL 重写模块添加到模块部分并将 runAllManagedModulesForAllRequests 设置为 true。
当我启动网站并访问使用 URL 重写的页面之一时,该页面会正确呈现。但是,如果我然后访问另一个页面,该站点将停止工作并且我得到一个 404 未找到。我还发现我在 URL 重写模块中的断点没有被命中。这几乎就像 IIS 将第一个请求转发给重写器,但随后的请求转到其他地方 - 错误页面将 Notification 提到为 MapRequestHandler,将 Handler 称为 StaticFile。
如果我随后对 web.config 文件进行小改动并保存它,触发网站重新启动,然后我可以在浏览器中重新加载页面并且一切正常。然后我点击另一个链接,它又坏了。
作为记录,这里有几个来自配置文件的片段。首先,在system.web下:
然后,在 system.webServer 下:
该站点在经典而不是集成管道模式下运行。
有没有人有任何想法?我怀疑我的配置在某处有问题,但我似乎找不到在哪里。