问题标签 [locationmatch]
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.
apache - httpd.conf 和位置匹配错误
这是我的 httpd.conf 文件的一部分的外观(apache 2.215,mod_perl 2.0000005-orsomething,最新的 HTML::Mason)
我在重新启动 apache 备份时遇到的错误是:
第 1020 行是位置匹配标记
我不完全知道这个配置有什么问题,我无法让 apache 重新启动备份。
regex - Apache LocationMatch 正则表达式
我的问题
我需要向 Tomcat 发送 Apache HTTP Server (v2.4.10) 代理请求以获取动态应用程序,这些请求不仅与 Tomcat 中的路径不匹配,而且还具有彼此相似的路径。例如:
/products/<category>/<sub-category>/<sub-sub-category>/<product-id>.html
代理到:http://mycluster/pf/<product-id>.html
...并且...
/products/<category>/<sub-category>/<sub-sub-category>/<anything-not-ending-in-html>
代理到:http://mycluster/search/<anything-not-ending-in-html>
我的尝试
我正在尝试使用 LocationMatch 正则表达式来处理这个问题,但并没有完全成功。以下 LocationMatch 正则表达式可自行工作(将*.html
请求代理到<tomcat>/pf/*.html
):
这使用以下示例路径传递 URL:(/products/aaa/bbb/ccc/ddd3456.html
这是正确的)
但是,当我还启用下面的正则表达式时:
尝试访问/products/aaa/bbb/ccc/
404 页面中的结果。在这里,我希望任何不以 .html 结尾的“/products/aaa/bbb/ccc/”请求都将传递给 /search/(包括要包含的任何后续路径信息:例如 .../search/比较 )
我的问题
我无法完全弄清楚出了什么问题。根据Rubular,提供的正则表达式是正确的:
我在这里想念什么?
我将不胜感激有关解决此问题的任何建议!
regex - Apache LocationMatch 正则表达式忽略重复的斜杠
当 URL 的开头有额外的斜杠时,我对 Apache 的 LocationMatch 指令有一个奇怪的行为。根据 Apache 文档,如果我没看错,这应该可行:
但是,如果我键入以下 URL,它也会被转发到后端主机:
https:// <主机名:端口> ///////appcontext/a/
在 Apache 文档中,它明确指出它应该仅将指令应用于 /appcontext/a/,除非我缺少正则表达式的某些内容或 mod_wl 插件存在问题
http://httpd.apache.org/docs/2.2/mod/core.html
“例如,<LocationMatch ^/abc> 将匹配请求 URL /abc 但不匹配请求 URL //abc”
有没有人有任何建议来实现这一目标?
regex - Apache LocationMatch 不工作
我在指令中有以下<VitrualHost/>
指令:
我正在尝试使用以下 URL 访问我的服务器:
我的<LocationMatch>
指令中的内容不匹配。也许我不明白<LocationMatch>
实际上是如何工作的。我希望这会查看 URL 并将其与 of 内部的内容进行""
比较<LocationMatch>
。
编辑:
奇怪的是,当我用 ../api/ 结束 URL 时,这匹配
regex - LocationMatch 否定表达式
我想要网站的密码保护只是 web 服务 URL 保持允许所有。
这个表达式在 apache 中完美运行,只需要反过来。
我尝试了许多形式,但不起作用。我试过这个并且在调节器测试器中完美地工作,而不是在 apache (2.2)
怎么能否定那个表达呢?
.htaccess 内容(如果有的话)。
regex - Apache 的 LocationMatch 规则
我需要修复(使用或不使用正则表达式),以便您可以访问站点上的“/admin.php?+”,但不能访问“/SUBSITE/admin.php?+”。任何人都知道如何解决这个问题?
angularjs - Apache 未检测到 ui-router 状态更改
我正在使用LocationMatch
Apache 指令将一些逻辑应用于 AngularJS 应用程序。为了测试,我的正则表达式只涵盖一种状态, http: //my.ui.com/login
阿帕奇
这个简单Redirect
的用于检查块是否已被触发。当我直接到达上面的 URL 时(假 URL,抱歉我不能分享真实的应用程序),我可以通过观察 URL 栏看到重定向工作。但是,如果我使用按钮导航到此状态ui-sref
,则永远不会触发 LocationMatch 块。这是相关的 AngularJS 代码,我使用的是 ui-router 库:
界面状态
按钮(单击不会触发 Apache)
我猜是因为 AngularJS 应用程序是一次性加载的,当 stateChange 发生时没有读取磁盘。有谁知道 Apache 检测 AngularJS 应用程序状态变化的更好方法?
regex - LocationMatch 允许主 url 不包括特定的子文件夹
在 httpd.conf 我想允许一个主路径但不允许一个特定的子文件夹。
必须接受具有此模式的任何 url:
/app-1.0/公共
/app-1.0/图像
/app-1.0/
但是这个必须被忽略/不允许。
/app-1.0/私人
我想在 apache 2.2.3 版上使用这个配置。我读过那个版本不支持否定正则表达式,但我不确定。
提前谢谢了。
regex - Apache LocationMatch除root之外的所有内容
我正在阅读它<Location '/'>
实际上匹配整个域,而不仅仅是根位置。我想创建一个匹配除http://my.domain.com/Location
之外的所有内容的或块,这意味着如果最后一个字符后面有任何字符,它将触发 '/LocationMatch
这是我将如何测试它:
我认为 Shibboleth 可能会改变一些行为。另请注意,我使用的是 Apache 2.2,但适用于 2.4 的解决方案也足够了。
regex - LocationMatch 正则表达式行为
我正在尝试使用 LocationMatch 在 Apache 中设置一堆基于 url 的规则,而正则表达式的行为方式似乎是我不理解的。
我尝试查找文档,但对我的问题来说,WRT 对我来说不是很清楚……互联网上的其他问题/答案也不是很清楚。
这是我的 Location 指令和我的 LocationMatch 指令结构的通用示例:
- 这些指令都在带有 ssl 的虚拟主机中。
- 我没有在配置中的其他任何地方使用任何其他 Location 或 LocationMatch 指令。
- LocationMatch 指令都在我的 CatchAll Location 指令之后。
<Location />
当我只使用指令时,一切正常。
我注意到这里使用的正则表达式和我使用过的正则表达式之间存在一些差异。
- 使用开始/结束斜杠似乎不起作用。
- 使用像 /i /g 这样的结束修饰符标签不起作用。
- 下面给出的其他行为差异
我尝试了许多不同的方法,但这里有一些我的结果示例:
1.
- 以上似乎与所有 .pdf 和 .PDF 扩展 URL 匹配。
然而:
- 不匹配任何 .pdf 扩展 URL。
- .pdf 不会被 CatchAll 捕获(显示 404 not found)。
- .PDF(大写字母)确实被 CatchAll 捕获。
.
2. 不相似:
- 以上匹配我的 .docx URL。
然而:
- 以上内容与 .docx URL 不匹配。
- 不会被 CatchAll 捕获(未找到 404)。
- 我尝试重新排列顺序,但仍然给出相同的结果。
不知道发生了什么,但行为完全不是我所期望的。
有人对我可能做错了什么或我不理解的事情有任何想法吗?
接受任何建议以使这个问题变得更好。谢谢。