- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
更新:今天我有点找出问题所在:现在看看较小的版本
RewriteCond %{REQUEST_FILENAME} (.+)
RewriteRule first /landingpage1.php [R,ENV=lang:hi]
RewriteCond %{REQUEST_FILENAME} (.+)
RewriteRule second /landingpage2.php?id=%1&%{ENV:lang} [R,L]
我的 htaccess 文件位置是/www/h/文件夹如果我键入 localhost/h/firstsecond,它会返回 localhost/landingpage1.php,第 4 行不满足模式但是 如果我输入 localhost/h/first/second,问题就开始了,它 = 登陆 localhost/landingpage2.php?id=localhost/landingpage1.php&hi,实际上有一次,只有一次我没有知道怎么做,我在实验中发现使用 localhost/h/first/second url 时,它使用第一个 rewriterule 行重定向,例如 localhost/landingpage1.php//second ,当然这样我们可以看到第二行有效,我也曾在别名“重定向”中看到过这种行为,如果您的 url 中有某些文件夹尾随,它会将剩余部分与查询字符串一起添加到最终重定向的 url 中。
所以当 localhost/h/firstsecond 工作正常但 localhost/h/first/second 不工作时,我知道可能接近知道发生了什么。
归档:
我试图理解没有 Last 标志的一堆重写规则的行为考虑我的 htaccess 文件位置是 localhost/h/( Applications/AMPPS/www/h )
示例 1:
RewriteRule anchor/(.+) /hello [R,ENV=lang:hi]
RewriteRule anchor /anchor/guess [R]
RewriteRule /hello /yes [R]
如果我输入 localhost/h/anchor/text那么我认为发生的是
第一行 RewriteRule anchor/(.+)/hello [R,ENV=lang:hi] 的模式“anchor/(.+)”匹配,因此它重定向到 localhost/hello ,但是因为那里没有 L 标志,重定向到 localhost/hello 被暂停,因此它低于
第二行的模式“anchor”与新的 http://localhost/hello 不匹配,因此跳过
事情似乎和我一样,直到我看到下面的例子示例 2:
RewriteRule foo/bar /tmp1/ [R]
RewriteRule foo/bar /tmp2/ [R]
RewriteRule (.+) /tmp3/ [R]
RewriteRule (.+) /tmp4/ [R]
RewriteRule hello /tmp6/ [R]
RewriteRule bar /tmp7/ [R]
RewriteRule hello /tmp8/ [R]
RewriteRule tmp7/ /tmp5/ [R]
相同的 htaccess 文件位置,我点击 url localhost/h/foo/bar ,我以为这会发生
1. 第一行的模式“foo/bar”与 url 匹配,所以它重定向到 http://localhost/tmp1/,但是因为没有 L ,它被搁置了,它在下面
第二行的模式“foo/bar”与 http://localhost/tmp1/不匹配,因此它被跳过,(如果我删除除前两行之外的所有行,我会看到最终重定向到 http://本地主机/tmp1/)
第三行的模式匹配http://localhost/tmp1/并转向http://localhost/tmp3/
第四行模式匹配,重定向到http://localhost/tmp4/
第五行的“hello”不匹配重定向仍然是http://localhost/tmp4/
最近 3 小时让我印象深刻的是第六行“bar”匹配..并重定向到 http://localhost/tmp7/(删除最后 2 行以确认)如何?
小七与预期不符
第八行 tmp7/与 http://localhost/tmp7/匹配,最后重定向到 http://localhost/tmp5/
现在的问题是为什么第 6 行的“bar”匹配,如果它可以匹配输入的最旧的 url (http://localhost/foo/bar ) 那么为什么它在同一示例的第二行不匹配以及为什么在示例 1 的第二行中没有匹配?
记住所有目标模式都指向文件夹外部(在父文件夹中,www,这样他们就不能再次回到 htaccess 文件)
最佳答案
首先是一个非常好的问题,包含很多细节。
如果启用 RewriteLog
,您会注意到这实际上是由这一行引起的(当您请求 http://localhost/h/first/second
URL 时):
add path info postfix: /landingpage1.php/second
There a bug raised specifically for this issue on Apache.org.
当您省略 L
或 DPI
(i.e. Discard Path Info
) 时会发生这种情况来自 RewriteRule
的标志。
如果你使用它会表现良好:
RewriteCond %{REQUEST_FILENAME} (.+)
RewriteRule first /landingpage1.php [R,DPI,ENV=lang:hi]
RewriteCond %{REQUEST_FILENAME} (.+)
RewriteRule second /landingpage2.php?id=%1&%{ENV:lang} [R,L]
关于regex - 一系列没有 Last [L] Flag 的重写规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30717297/
我习惯于使用 Apache 服务器,所以当启用 mod_rewrite 时,我可以创建一个 htaccess 文件并使用 URL 重写。 这是我的 htaccess 文件: RewriteEngine
我正在尝试编写一个 mixin 来修改输出的父选择器。这个想法是,在调用 mixin 的情况下,父选择器需要对其进行字符串替换。我有大部分工作,但我不知道如何吞下 & . .test { @inc
我有一个本地目录(上传)和一个 S3 桶设置。 当用户上传图片时,文件存储在本地目录:/uploads/member_id/image_name30 分钟后,系统将文件上传到 S3 使用相同的路径:s
我正在尝试使用以下内容重写代理页面的正文链接: sub_filter http://proxied.page.come http://local.page.com; sub_filte
关闭。这个问题需要更多focused .它目前不接受答案。 想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post . 1年前关闭。 Improve this questi
我尝试在我的 JSF 应用程序中使用“重写”(http://ocpsoft.org/rewrite/)。 一切都很好,我已经创建了规则: .addRule(Join.path("/profile/{p
我可以在 AEM 中大致看到两种 URL 重写方法: /etc/map/http(s)下的Sling映射(sling:Mapping) 使用链接重写器/TransformerFactory 重写 UR
我有一个 onclick 函数,我想将 anchor 添加到 href 值。我不想更改 URL,因为我需要该网站仍然可以为没有 javascript 的人/出于 SEO 目的而运行。所以这是我尝试使用
我必须在 UILabel 中显示货币和价格。在一个标签中,但使用不同的字体大小。现在看起来像这样: ...我这样做是重写drawTextInRect:,如下所示: - (void)drawTextIn
我正在尝试使用以下内容进行重定向: RewriteRule ^reviews/area/Santa-Barbara%2F$"/reviews/area/santa-barbara" [R=301,NC
我使用 FOSUserBundle 并且我想覆盖他的 registerAction Controller 。我阅读了与覆盖 FOSUserBundle Controller 相关的文档,但它不起作用。
我正在尝试让 URL 重写在我的网站上运行。这是我的 .htaccess 的内容: RewriteEngine On RewriteRule ^blog/?$ index.php?page=blog
好吧,这让我发疯了......我正在尝试像这样重写我的网址: Now: http://www.somedomain.com/Somepage.aspx http://www.somedomain.co
final方法不能在子类中重写。但凭借 Scala 的魔力,这似乎是可能的。 考虑以下示例: trait Test { final def doIt(s: String): String = s
我有一个类似下面的查询: Select ser.key From dbo.Enrlmt ser Where ser.wd >= @FromDate AND ser.wd ser.wd
我是 nginx 的新手,只是想做一些我认为应该很简单的事情。如果我这样做:- curl http://localhost:8008/12345678 我希望返回 index.html 页面。但是我得
我们的一位客户创建了一个二维码,其中 url 中包含一个空格。 我将如何编写处理此问题的 nginx 重定向? 在字符串中使用诸如“%20”之类的东西的几次尝试似乎会导致 nginx 出错或使 con
我正在尝试覆盖 appendChild 方法,以便我可以控制动态创建的元素并在插入页面之前根据需要修改它们。我尝试了这个示例代码,只是为了看看它是否可以完成: var f = Element.prot
我目前正在使用以下功能,当用户单击某处以确定是否隐藏下拉菜单(在 react 中)。一切正常,但当我单击正文时,它会记录以下内容。 我尝试重写它几次,但我找不到解决这个问题的方法。 Uncaught
我正在开发一个 Spring Integration/Boot 应用程序。我使用多文档 application.yml (src/main/resources/application.yml) 来设置
我是一名优秀的程序员,十分优秀!