- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想选择性地申请Sling mappings在 sling:Mapping nodes under/etc/map.publish 中定义,无法获得我想要的行为。
基本上,我希望映射规则仅在主机 header 匹配请求时触发。
我目前正在使用/etc/map.publish 下的 sling:Mapping 节点将资源路径映射到响应中的短 URL。
所以在 /etc/map.publish/http/myapp
下我会有以下节点:
<jcr:root ...>
jcr:primaryType="sling:Mapping"
sling:internalRedirect="/content/company/app/en"
sling:match="app.company.com
</jcr:root>
我想要的是当用户请求时:
http://app.company.com/content/company/app/en/page.html
响应中的 url(映射时)将以以下形式返回:
http://app.company.com/page.html
入站和出站 URL 存在这种差异的原因是因为我有 Apache 为不同的设备类型重写 URL。
但是,当带有不同主机头的请求到达时,例如:
http://localhost:4502/content/company/app/en/page.html
我不希望根据该规则映射 URL。现在,它被映射到
http://app.company.com/page.html
似乎映射是严格解析使用主机/端口的资源。然后在输出期间映射 url 时,会找到并使用“最佳匹配”。如果可能的话,我希望 map() 的行为类似于 resolve()。
最佳答案
有两种基于/etc/map
的机制:
resolver.resolve()
负责转换 URL,如 http://app.company.com/page.html
进入内容路径,例如。 /content/company/app/en/page.html
resolver.map()
链接重写器转换内容并缩短所有链接的方法 /content/company/app/en/page.html
表格 <a>
, <img>
等到完整的 URL。仅当您没有适当的正则表达式时它才会起作用 sling:match
属性(property)。您可以使用域名来映射/解析内容,例如。创建 multidomain environment , 所以 http://app.company.com/page.html
将命中一个资源和http://app.company2.com/page.html
会撞到另一个。
但是,您不能根据当前请求主机禁用或启用链接重写器。例如。如果如上所述配置映射,/content/company/app/en/page.html
内容路径将始终缩短为 http://app.company.com/page.html
,无论您的请求中有什么主机 header 。
关于url-rewriting - Sling 映射是否可以限制为带有主机 header 的请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18845841/
我有一个使用moodle库的项目。由于客户端请求,我不得不将 URL 从moodle.example.com 更改为learn.example.com。 我认为这将是一个简单的更改,但唉,moodle
目前,在我的生产服务器上,我设置了如下的入站规则,它可以满足我的所有要求。 入站规则如下。 Match URL section Requested URL: Matches the Pattern U
我正在 Heroku cedar 堆栈上运行一个 PHP 应用程序。有没有办法设置 URL 重写规则?我曾希望在 .htaccess 文件中执行此操作,但在此只能识别访问控制指令。 我看到 Ruby
我正在尝试在运行 CentOS 6.4 和 NginX 1.8 的 VPS 上设置 Laravel 框架。我可以让其他一切都完美地工作,除了我无法让更清晰的 URL 工作,比如使用“website.c
我刚刚从 IIS6 svr2003 迁移到 IIS7.5 服务器 2008r2 并安装了 url 重写。这一切都很好。有问题的网站很大,并且在 .net 2 集成管道下运行。目前无法在 .net 4
首先是一些无聊的进口: import Relation.Binary.PropositionalEquality as PE import Relation.Binary.HeterogeneousE
我正在 IIS 6 上构建一个 Drupal CMS 网站,并使用 ISAPI Rewrite 3 来提高 url 的可读性。我的问题是我有一个位于 Drupal 站点内的虚拟目录,但它指向 Drup
每个网络应用程序/上下文有没有办法为该特定网络应用程序指定重写文件?我看到当前工作的唯一方法是在您启动它时通过命令行。我在想可能是 override.xml 文件中的设置,甚至是上下文 xml 文件中
我想为基于 Struts2 的应用程序(目前在开发环境中)重写 URL。我搜索了它并找到了 Tuckey URL Rewrite 并在我的项目中进行了设置。现在我希望我的登录 url 当前为 http
我正在尝试使用 IIS URL Rewrite 2.0在 Windows 8.1 上使用 IIS 8.5。根据 Accessing URL Parts from a Rewrite Rule , Fo
我们有以下重写规则: RewriteRule ^([A-Za-z0-9\_]+)$ index.php?rewrite=$1 [L,QSA] 我们想知道是否有一种方法可以让 ?rewrite=$1
我们有以下重写规则: RewriteRule ^([A-Za-z0-9\_]+)$ index.php?rewrite=$1 [L,QSA] 我们想知道是否有一种方法可以让 ?rewrite=$1
我从 Web 平台安装程序安装 URL Rewrite。没有添加规则。然后,当我访问网站 url 时,它返回 503 代码并且应用程序池已停止。当我从控制面板中卸载 URL 重写模块时,它工作正常。
假设我在 example.com 上托管了一个站点,现在我希望我的每个注册用户都获得一个个性化的子域,例如 Alice 通常应该将 alice.example.com 作为她的子域。而实际上 alic
我正在按照Jetty文档示例在嵌入式Jetty服务器中实现一个简单的重写规则。 我想将对/admin/的请求重写为/admin.html。 目前,如果我请求/admin/,则会收到404错误,找不到/
我有这个重写规则 RewriteEngine On RewriteBase /location/ RewriteRule ^(.+)/?$ index.php?franchise=$1 假设要更改此
Closed. This question is off-topic。它当前不接受答案。 想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。 7年前关
我有两个 apache 服务器都具有相同的设置,我克隆了 apache 配置文件,并且只更改了 ServerName 部分。当我键入 mysite.com/somestuff 它应该重写为 index
我想即时创建文件夹,但让我看起来像是在使用 mod_rewrite 即时创建子域。例如 使用 PHP 创建“john”文件夹 www.example.com/john/ 然后能够访问我放在那里的任何内
如何删除main/中的http://domain/main/about 因此该网址将类似于http://domain/about 谢谢 最佳答案 好吧,在没有更多详细信息的情况下,您可以尝试执行以下操
我是一名优秀的程序员,十分优秀!