问题标签 [url-masking]
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.
php - nginx 掩码 URL 不重定向
我有一个在 nginx 上运行的站点。
在我的 nginx/sites-available/default 文件中,我有一行:
这样做是使 examplesite.com 转发到 examplesite.com/search.php?path=$1,然后屏蔽该新 URL。因此,该 url 看起来像“examplesite.com”并且运行起来像 examplesite.com/search.php?path=$1
我想做一些不同的事情。
我不想改变examplesite.com的功能,而是让url examplesite.com/search.php?path=$1 显示为examplesite.com/$1 并保持其相同的功能。
所以我不想重定向,只是让 examplesite.com/search.php?path=$1 显示为 examplesite.com/$1
但是,似乎 rewrite 无法处理此功能。是否可以在 nginx 中具有该功能?
编辑 1
例如:
我有网址http://www.examplesite.com/search.php?search=house&location=chicago
我想保留该功能,但只需使其显示为:
http://www.examplesite.com/chicago/house
编辑 2
我有更改的代码:
http://www.examplesite.com/search.php?search_title=apple&search_location=boston
至:
http://www.examplesite.com/boston/apple?search_title=apple&search_location=boston
这是代码:
但问题是这会导致网站上的 PHP 代码失败,最后仍然显示所有参数。
编辑 3
看了这个:https://serverfault.com/questions/160790/nginx-rewrite-for-an-url-with-parameters如评论中所建议的那样,我现在可以显示正确的 url:
http://www.examplesite.com/boston/apple
通过添加 ? 最后使我当前的代码如下:
但是这个 url 是 PHP 正在读取的 url。所以,我得到一个 404 Not Found 这是有道理的。
是否可以让 PHP 读取旧 URL,但在浏览器中保留现在的 URL?
编辑 4
我不确定,但我在想nginx的rewrite函数可能无法做我想做的事,所以我在看proxy_pass和proxy_set_header
编辑 5
我有第二个问题在这里从一个单独的角度解决问题:Nginx redirect URL into a PHP GET url
apache - 如何屏蔽 .htaccess 文件中的 url
我希望发生以下情况:
当访问者在我的网站上键入错误的 URL 时,我希望它能够将访问者重定向到我创建的自定义错误页面。但是,我希望在www.example.com
错误页面本身可能为www.example.com/errorDocs/404.error
.
这是我目前拥有的,但它不起作用:
azure-api-management - 删除查询字符串参数
有没有办法从 azure api 管理中的 url 中删除查询字符串参数?提前致谢
url-masking - HTML 中的屏蔽 URL
我有一个 HTML 页面。假设网址是
但我想将 URL 屏蔽为
我们可以这样做吗?
.htaccess - .htaccess 子域的掩码 URL
我们网站的子域 reading.domain.com 包含我们希望人们看到的内容,但 URL 应该是 domain.com/reading。
我不是 URL 重写方面的专家,但我尝试编辑 htaccess,但它只重定向页面。
我们正在使用siteground,托管公司是否与他们的apache配置有关以使其工作?
非常感谢。
asp.net - 将 URL 重定向和屏蔽到 Azure 子域
我有一个在 Azure 上运行的 ASP.NET MVC Web 应用程序作为generic-site.co
. 这是一个支持多个子域的白标站点:acme.generic-site.co
、globex.generic-site.co
、initech.generic-site.co
等。浏览每个子域会更改页面上的品牌,但基本功能完全相同。
acme-site.com
同时我有一个由 GoDaddy 托管的外部域名。我想将其专门重定向到acme.generic-site.co
子域,但我还想将其保留acme-site.com
为根 URL,以便在该站点上进行任何进一步的浏览,从而使用户能够获得纯粹的acme
体验,而无需任何潜在的暗示generic-site
。
我尝试使用带有屏蔽的 GoDaddy 的域转发来做到这一点,但我几乎立即遇到了 CSRF 问题。
有什么办法可以做到这一点?我怀疑 IIS URL 重写可能会有所帮助,但我不知道如何继续。
php - 使用转发重写时,Wordpress wp-login 重定向到错误的 url
我们有一个域https://developer.site.com在一台服务器上提供服务。然后,我们将https://developer.site.com/blog转到一个完全不同的位置,提供一个 wordpress 站点。(从技术上讲,这称为“前向重写”。)
前端和大多数管理员都表现良好,但是有几个地方重定向回另一台服务器上的 404。
例如:
https://developer.site.com/blog/wp-login.php?action=rp&key=t34T4akjihAB231sCwgJU9TU&login=abcde
此 URL 重定向到 404,不包括 URL 中的 /blog 部分。
跟踪站点时,它似乎转到了正确的 url,但随后 wordpress 立即将其发送到 404 页面,因此 wordpress 有问题。我们已经检查并再次检查了域掩码,我们确信一切正常。
我在代码中找到了 wp_safe_redirect() 几次。这可能是罪魁祸首?也许有些东西拉错了目录结构,在内部省略了 /blog 部分,但我不明白为什么这很重要。
.htaccess - 地址栏中的 URL 掩码
我的服务器中有一个应用程序,例如 www.myDomain.com/pos,我的客户想用他的域名运行这个应用程序:www.clienDomain.com/pos。但我不想将我的应用程序安装到客户端服务器。有什么方法可以使用客户端域名访问我的服务器吗?
wordpress - .htaccess 隐藏路径中的第一个子目录
我注意到已经有与我非常相似的问题,已经在这个网站上得到了回答。但是我一直在努力没有成功实施那里提供的解决方案,所以我敢再次提出这个问题。能否请你帮忙?
我在 wordpress 中开发了一个网站,并将所有内容放在一个特定的子目录下(我的主机提供商使用 Apache,不用说),这样:
- 所有文件都在/public_html/es/中(由于某些历史原因,子目录的名称是“es”,我只是在这里指定它,因为它是一个非常常见的字符串,可能需要非常准确的正则表达式)。
- 一切正常,我可以导航到 URL www.example.com/es上的站点,然后点击链接,例如www.example.com/es/whatever1/whatever2/
- 此外,我实现了一个多语言插件,当我想切换到另一种语言(本例中为意大利语)时,该插件允许页面显示为www.example.com/es/whatever1/whatever2/?lang=it 。
- 最后,我对.htaccess文件进行了如下编码,以允许访问者只需输入域名即可访问该页面:
/public_html/.htaccess:
/public_html/es/.htaccess:
从技术上讲,它似乎工作正常:您可以通过键入“example.com”访问该站点,然后浏览它,因为 URL 已转换为“example.com/es”。
现在......出现在浏览器 URL 字段中的“ /es/ ”字符串很烦人,有时甚至会产生误导,因为它让一些访问者相信他们在网站的“西班牙语”版本中,而该字符串只是一个片段的路径。
我不想将整个站点移动到/public_html下的另一个路径,有没有办法可以从浏览器 URL 字段中隐藏“ /es ”字符串?当然,我只需要隐藏第一次出现的“/es”(即我想要那个
example.com/es/thes子目录/ ? lang =xx
显示为
example.com/th es子目录/?lang=xx
)。
正如最初评论的那样,我无法成功实施我在 stackoverflow 其他地方找到的任何建议。
非常感谢您耐心阅读这篇长文。