问题标签 [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.

0 投票
6 回答
2875 浏览

asp.net - ASP.NET 客户端/浏览器 URL

我想知道如何从 ASP.NET 中的浏览器获取 URL。

我有一个用于全球化/本地化的页面,并且我正在(通过服务器而不是代码)从www.spanishversion.comto重定向www.englishversion.com,但 URL 被屏蔽以仍然显示www.spanishversion.com. 我想获取浏览器的 URL,但是当我尝试以下操作时:

  • Request.Url.ToString()
  • Request.Url.OriginalUrl
  • Request.Path Request.RawUrl
  • Request.ServerVariables["SERVER_NAME"]

它总是以www.englishversion.com. 有没有办法可以从浏览器显式读取 URL?

0 投票
1 回答
626 浏览

asp.net - 带有通配符映射的 ASP.Net 1.1 在默认文档上给出 404

我有一个应用程序,它被要求为使用大量查询字符串值的动态页面创建一个友好的 url。在互联网上进行一些研究后,我发现我需要创建一个 HttpModule 或 HttpHandler 来执行路由,然后在 IIS 中设置一个通配符映射到 aspnet_isapi.dll 的.Net v1.1(删除验证文件存在复选框)。

使用虚拟目录进行测试,在我的 XP Pro 机器上本地一切正常。

当我将它提升到测试环境(Server 2003)时,直接访问页面和路由工作正常;但是,默认文档不再有效。我在网上找到了一个参考,指出由于 ASP.Net WP 和 IIS6 的分离,IIS6 在默认文档逻辑之前处理通配符映射。

我试图更新我的 HttpHandler 以考虑 / 路由;但是,路由页面上的代码不再起作用。在 Web.Config 中,我尝试使用路径作为 * 以及 / 并获得相同的响应。我也在使用我觉得不正确的 Response.Redirect 。

我也尝试过 URLRewriter.net;然而,在花了几个小时试图让它工作后它没有工作(它只是因为某种原因不会在这个 asp.net 1.1 应用程序中路由)。

关于可能是什么原因的任何想法,或者我如何将我的路由带到默认页面和我的特定页面设置,同时不理会其余部分?

0 投票
3 回答
4338 浏览

asp.net - 在 IIS7 上为 Wordpress 重写 URL

我正在使用带有 IIS7 的共享主机并支持 PHP。我正在尝试使用“漂亮的 url”(删除 index.php)运行一个 wordpress 博客。托管服务提供商不想安装 URLRewrite 模块,因此我无法使用该选项。我找到了一个 wordpress 插件,它将从永久链接 URL 中删除 index.php,并将 404 页面更改为 index.php 应该可以解决问题……这也不起作用。

我熟悉 ASP.NET 网站的 URL 重写,但我不确定我将如何处理 PHP。托管设置似乎同时支持 ASP.NET 和 PHP,所以我认为可以通过 ASP.NET 运行重写代码,但我不知道如何去做。

有没有人对此有任何经验或对最佳方法有任何想法。如果有任何事情引导我朝着正确的方向前进,或者如果我自己弄清楚了,我将非常乐意在这里为任何可能需要它的人分享代码。

0 投票
3 回答
1767 浏览

c# - 使用自定义 URL 重写器、IIS6 和带有 .htm、.html 等的 url

我有一个自定义网站,我正在使用自定义引擎自动重写 url。只要页面 url 不以 .htm 或 .html 之类的结尾,重写就可以正常工作。对于这些页面,它直接进入 iis 404 页面,而不是先访问我的重写引擎。

我在该网站的 IIS6 配置的“主目录”部分有 * 通配符处理程序,但这些 url 似乎被它忽略了(尽管 css、jpg、js 等内容被发送到我的 web 中的 url 处理程序项目)。如何设置 IIS6 以强制将这些 url 发送到处理程序,同时在页面正常存在的情况下仍为页面提供服务?

处理程序基本上是这样做的

我必须假设如果请求的文件不存在,则使用这样的块(例如,真正的块做一些其他的东西来格式化Request.Path以适合所有内容)应该运行“doMyRewriting()”它将正常提供页面。我弄错了吗?

如果我专门告诉 IIS 将 .htm 和 .html 页面通过 .NET 处理程序发送到 .NET 处理程序,则重写工作,但如果页面实际上在那里,它将不会提供它。

任何帮助将不胜感激。

提前致谢!

0 投票
1 回答
1094 浏览

apache - mod_rewrite:检查 URL 中的自定义查询字符串?

我正在尝试在我的新项目中使用 URL 重写。但我还需要在 URL 中允许自定义查询字符串。

我只想知道如何为这个 URL 写重写规则

http://www.mysite.com/edit/123/?q1=value1&q2=value2

成为这个

http://www.mysite.com/index.php?action=edit&id=123&q1=value1&q2=value2

自定义查询字符串应允许无限制。

百万感谢...

0 投票
2 回答
1533 浏览

.htaccess - .htaccess URL 在空格处被剪切(我正在使用 Codeigniter)

我使用以下代码将https://live.example.com映射到http://example.com/api

以下网址:

假设映射到:

相反,它将其映射到:

所以它似乎在空间上削减它。我正在使用 Codeigniter 框架,但我不确定问题是否存在。

在 url 栏中使用%20或仅使用空格不会产生不同的结果。

任何人有任何想法和/或解决方案为什么会发生这种情况?

非常感谢,

0 投票
7 回答
9432 浏览

asp.net - 使用 URL Rewrite 和 404.aspx 时的回发问题

我在我的网站上使用 URL 重写来获取如下 URL:
http://mysite.com/users/john
而不是
http://mysite.com/index.aspx?user=john

为了使用 IIS6 实现这种无扩展重写并且无法访问托管服务器,我使用了“404 方法”。当服务器找不到请求时,执行映射的 404 页面,因为这是一个 aspx 页面,所以可以执行重写(我可以使用托管服务上的控制面板设置 404 映射)。

这是 Global.asax 中的代码:

在我的母版页上的 Page_Load 中,我在表单标签的操作属性中设置了正确的 URL。

重写工作正常,但是当我在页面上执行回发时,没有执行回发,这可以通过某种方式解决吗?

问题似乎与 404 方法有关,因为当我尝试不使用它(并失去无扩展功能)时,回发工作。那是我请求的时候:http:
//mysite.com/users/john.aspx

这可以解决还是有任何其他解决方案可以满足我的要求(IIS6,没有服务器访问/ISAPI 过滤器和无扩展)。

0 投票
5 回答
208 浏览

url-rewriting - CMS 如何在目录或纯文件名中显示页面?

如果所有 CMS(Drupal、MediaWiki)只是后台 PHP 或 ASP 的集合,那么它们如何在没有扩展名或任何东西的情况下显示www.example.com/directory/www.example.com/File_name的页面?

这是一些 .HTACCESS 配置吗?Python?珀尔?这有什么办法?

我怎么能为我的服务器/网站做到这一点?(不使用CMS?)

0 投票
2 回答
2039 浏览

url-rewriting - nginx重写问题

如果第二个文件存在,我需要使用 nginx 从 /blah/.../3275 到 /id/3275 进行重写,否则我想将它交给 apache。这是我的(微弱的)尝试

(...) 代表不相关的东西

有没有人有任何想法

0 投票
1 回答
9488 浏览

php - .htaccess 的公共目录

我在 index.php 中有一个调度程序函数,因此 URL 如下:

/博客/节目转到

/index.php/blog/show

如何修改它,以便我可以将所有静态文件转储到公共目录中,但在 URL 中不公开的情况下访问它们。

例如 /docs/lolcats.pdf 访问

/public/docs/lolcats.pdf 在驱动器上

我试过这个