url-rewriting 相关问题

URL重写引擎是修改Web URL外观(URL重写)的软件。重写的URL用于提供更短和更相关的网页链接,将用户从过时的URL路由到替换,或简化URL的格式以便人类可读。该技术在用于生成网页的文件和呈现给世界的URL之间增加了一定程度的分离。

如何重写magento核心缓存模型(Mage_Core_Model_Cache)

我必须重写核心缓存模型。但这是行不通的。我解决这个问题的第一次尝试是尝试用另一个模型重写...... 在我的 config.xml 中我声明了以下内容 我必须重写核心缓存模型。但这是行不通的。我解决这个问题的第一次尝试是尝试用另一个模型重写...... 在我的 config.xml 中,我声明了以下内容 <global> <models> <core> <rewrite> <**layout**>MyCompany_MyModule_Model_Core_Cache</**layout**> </rewrite> </core> </models> .... 在我的课堂上,我死于构造函数中。 这非常有效! 所以我重写模型的可能是正确的。 但是如果我不在 xml 中使用布局节点而是使用缓存节点,则这不起作用。 所以我的尝试如下,但这不起作用: <global> <models> <core> <rewrite> <cache>MyCompany_MyModule_Model_Core_Cache</cache> </rewrite> </core> </models> .... 我现在的问题:有没有办法重写/重载“缓存核心模型”??? 缓存将在加载模块配置(config.xml)之前初始化。缓存模型是用 Mage::getModel 实例化的,它在注册表中缓存模型名称。 因此,以后所有获取自定义缓存模型的尝试也将失败。 解决方案:将此重写语句放在etc/local.xml中。这有点脏,因为 local.xml 应该只包含与模块无关的内容。但这比将核心文件复制到本地要好。 我有同样的问题,但我的解决方案与你的有点不同;-) Magento 将先从 /app/etc/*.xml 加载 XML 文件(此文件不会被缓存),然后再加载 magento 中的其他内容。 所以我在这里创建了自己的文件“cache.xml”,内容是 <?xml version="1.0"?> <config> <global> <models> <core> <rewrite> <cache>MyCompany_MyModule_Model_Core_Cache</cache> </rewrite> </core> </models> </global> </config> 在 1.6、1.7 和 1.8 中完美运行 我也在尝试做同样的事情,但我认为这是不可能的。如果您在方法中 var_dump 出 $this->_xml->group->models: getGroupedClassName (app/code/core/Mage/Core/Model/Config.php) 您会注意到您的重写尚不可用,因此为什么它被跳过。 如果您尝试覆盖translate或layout:your_class_model,您会注意到$this->_xml...转储初始核心类(没有重写),并且您会看到您的重写远远超出了核心/缓存。因此,它可能被覆盖,但该类已经实例化、设置和使用;所以它真的不会触发任何东西。 因此我认为不可能覆盖核心/缓存。您必须将其移至应用程序/代码/本地。可怜。

回答 3 投票 0

NextJS Rewrites持续刷新

我有两个项目, 项目 1 - React + Electrode - www.example.com/au 项目 2 - Next Js - www.example.com/au/sell-your-car 项目2有一个中间件来检测请求是否来自

回答 1 投票 0

重写 Magento 核心块

我做了一个模块来重写Mage_Core_Catalog_Block_Product_View_Type_Configurable,我想在其中更改getJSConfig方法。 班级

回答 2 投票 0

如何使用 htaccess 的重写规则从 url 中删除多个子目录?

我该如何重写这个网址 本地主机/store/admin/employee/position/cashier.php?name=John 到 本地主机/商店/约翰 无需移动文件 我什至不知道这是否可能?请我需要...

回答 1 投票 0

WooCommerce 永久链接:重写规则未按预期生成

我在两个独立的环境中开发了一个 Wordpress / WooCommerce 网站。启动后,我遇到了实时环境和开发环境之间的不一致问题,但无法解决。 在...

回答 1 投票 0

当查询参数存在但没有根文件时 IIS URL 重写规则

我有一个由 IIS 提供到 example.com/mywebapp 的 Web 应用程序。默认文件是index.html,因此当有人加载 example.com/mywebapp 时 - index.html 是实际加载的文件(漂亮

回答 1 投票 0

URL 重写规则将 https://oldhostname/oldsubfolder 重定向到 https://newhostname

我一直在绞尽脑汁试图找出如何实现这一点,但我开始认为这是不可能的?我尝试了多种变体,最新的是: 我绞尽脑汁试图找出如何实现这一点,但我开始认为这是不可能的?我尝试了多种变体,最新的是: <rule name="Redirect Website" stopProcessing="true"> <match url="^oldsubfolder(.*)$" /> <conditions> <add input="{HTTP_HOST}" pattern="^oldhostname$" /> </conditions> <action type="Redirect" url="https://newhostname/{R:1}" redirectType="Permanent" /> </rule> 这是一个内部网站。有什么想法吗?我确实将“oldhostname”设置为别名,以指向我们 DNS 中的“newhostname”,但我收到 404,因此它到达了那里,但没有到达正确的页面。我还需要尾随链接来继承。 谢谢! 尝试以下规则并确保文件夹路径确实存在于新域中。 <rule name="Redirect Specific Folder" stopProcessing="true"> <match url="^oldsubfolder/(.*)" /> <conditions> <add input="{HTTP_HOST}" pattern="^oldhostname$" /> </conditions> <action type="Redirect" url="https://newhostname/{R:1}" redirectType="Permanent" /> </rule> 如您所见,它将使用测试作为 {R:1}。因此,您的新网址将是 https://newhostname/test

回答 1 投票 0

尝试上传 Chrome 扩展

尝试上传 chrome 扩展以仅重写 yt URL 中的一个字母,但总是弹出 backround.js 文件无法读取。我无法找出错误。我尝试过人工智能,但当然人工智能...

回答 1 投票 0

Web.config Url 重写用户名 (Php)

如何将网络重写网址从 (u/用户名) 更改为 (/用户名),例如 instagram.com/username 我的网络配置: 如何将网络重写网址从 (u/用户名) 更改为 (/用户名),例如 instagram.com/username 我的 web.config: <rewrite> <rules> <rule name="Rule 1"> <match url="^([a-zA-Z0-9_-]+)(|/)$" ignoreCase="false" /> <action type="Rewrite" url="index.php?url={R:1}" appendQueryString="false" /> </rule> <rule name="Rule 2" stopProcessing="true"> <match url="u/([a-zA-Z0-9_-]+)(|/)$" ignoreCase="false" /> <action type="Rewrite" url="/index.php?url=profile&amp;username={R:1}" appendQueryString="false" /> </rule> </rewrite> 我之前尝试过一些规则,但我无法弄清楚。 如果你想把mySite.com/u/username改写为mySite.com/username,可以参考这个规则: <rewrite> <rules> <rule name="Remove u" stopProcessing="true"> <match url="u/(.*)" /> <action type="Rewrite" url=mySite.com/{R:1} appendQueryString="false" /> </rule> </rules> </rewrite>

回答 1 投票 0

使用 .htaccess 隐藏 URL 中的文件夹名称

我的根目录中有一个名为 Pages 的文件夹,我想在访问时隐藏该文件夹。目前,我的网址如下所示:www.foo.com/pages/page.html 我想删除以下内容...

回答 1 投票 0

IIS 重写规则以通过查询字符串值重定向到新域

我无法弄清楚 IIS url 重写规则,希望有人可以提供帮助。我想创建一个重定向规则(302-found) 从: 域名1.com/?kb=8 到: 域名2.com/view/8 谢谢你。

回答 1 投票 0

使用 Cloudflare 在 URL 中添加尾部斜杠

我工作的公司最近推出了一个新网站,但目前 URL 不会自动向那些没有斜杠的网站添加尾部斜杠 - 但旧网站曾经这样做。这是因为...

回答 1 投票 0

ASP.NET Core 使用 web.config 将 www https 重写规则为 https 非 www

假设我希望我的网站 www.example.com 像这样重定向: https://www.example.com -> https://example.com 如何实现这一目标?这是我尝试过的,但它不起作用。我得到一个

回答 1 投票 0

.htaccess 将参数重写为路径

我想用htaccess重写参数到路径。 例子: https://test.link?test123 -> https://test.link/test123 该网站使用 PHP 8.0 运行。 我的 .htaccess 中有以下代码...

回答 1 投票 0

IIS Rewrite 在重写到外部网站时始终返回 502 bad gateway

是一个部署在IIS上的小网站。我正在使用此网站上的重写功能来重写对外部网站的 http 请求。这是 web.config 中的重写设置。 是一个部署在IIS上的小网站。我正在使用此网站上的重写功能来重写对外部网站的 http 请求。这是 web.config 中的重写设置。 <system.webServer> <rewrite> <rules> <rule name="ReverseProxyInboundRule1" stopProcessing="true"> <match url="(.*)" /> <action type="Rewrite" url="https://about.gitlab.com/" logRewrittenUrl="true" /> </rule> </rules> </rewrite> </system.webServer> 它总是返回HTTP Error 502.2 - Bad Gateway。 HTTP 错误 502.2 - 网关错误 尝试路由请求时出现连接错误。 如果我只是使用指向此网站内页面的内部路径,使用相对路径,以 / 开头,那么它就可以正常工作。改成外部网站后,总是返回HTTP Error 502.2 - Bad Gateway。 有什么地方需要更新吗? 这是我解决问题的方法。它可能不是所有502 bad gateway问题的解决方案,但它解决了我的问题。 在应用程序请求路由 -> 缓存设置 -> 内存缓存持续时间中。我把他的值设置为0。然后它就按预期工作了。

回答 1 投票 0

使用 .htaccess 删除 .html 和 .php 扩展名

如何从网页中删除文件类型,而不创建新目录并将文件命名为index.php。我希望将 http://example.com/google.html 更改为 http://example.com/google。 我该怎么去…

回答 4 投票 0

更改 osclass 中的 url

我想更改 osclass 上的 url 并将 , 替换为 - 现在网址就像:127.0.0.1/en/search/region,9354963/category,books-magazines 我想将网址转换为 127.0.0.1/en/search/region-93...

回答 1 投票 0

这 2 个 ASP.NET 重写规则有什么作用?

我有一个 ASP.NET MVC 应用程序(它很旧)。有一个 rewrite.config 文件,其中包含 2 个启用的重写规则。 我有一个 ASP.NET MVC 应用程序(它很旧)。有一个 rewrite.config 文件,其中包含 2 个启用的重写规则。 <rule name="CanonicalHostNameRule1" enabled="true" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTP_HOST}" pattern="^www\.example\.com$" negate="true" /> </conditions> <action type="Redirect" url="http://www.example.com/{R:1}" redirectType="Permanent" /> </rule> <rule name="HTTP to HTTPS redirection" enabled="true" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <add input="{HTTPS}" pattern="off" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" /> </rule> 我认为第二条规则将 http://www.example.com/blah 转换为 https://www.example.com/blah 但我不确定。 第一条规则,如果 HTTP_HOST 不是 www.example.com,它将使用其余 url 进行 301 重定向到 www.example.com。 因此,例如,如果您的传入 URL 为 example.com/my-page,它将执行 301 重定向到 http://www.example.com/my-page

回答 1 投票 0

将\index.html重定向到\root

所以我有一个 xxx.yyy.com 形式的子域,重定向到 yyy.com/xxx 除了子域的根目录是一个index.html 文件之外,一切正常。 我需要那个 yyy.com/xxx/...

回答 1 投票 0

尝试使用自定义位置的文件 ^/([0-9]+)

正在尝试使用相同的重写规则运行位置 nginx 重写 重写 ^/([0-9]+)$ /post.php?id=$1 ; 不与 位置 ~ ^/([0-9]+) { try_files /s.php-$1.txt /s.php?page=$1 ; 根/ho...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.