小编She*_*man的帖子

nginx 位置是什么 ~* 和 ~

我试图更好地理解 nginx 并尝试形成一个正则表达式,其中每个不匹配的 url 都/api/postdataV1被路由到不同的服务器集群。我一直在例子中看到这两件事,没有解释

location ~ {some regex}

location ~* (some regex}
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是这些是什么~~*(我认为~只是意味着我指定一个正则表达式?),但怎么样~*呢?

我想我想要的是这个。这是正确的吗?

location ~ ^/api/postdataV1$ {
    #matches to this route to where I want
}

location / {
    #This will be everything except /api/postdataV1 I think
}
Run Code Online (Sandbox Code Playgroud)

这是正确的吗?但是~*……我不明白那个

谢谢,院长

nginx

19
推荐指数
1
解决办法
2万
查看次数

apache .htaccess 文件中的 HTTP_HOST 和 HTTPS_HOST 有什么区别?

我正在编辑一个.htaccess文件..

在 RewriteRules 的 RewriteCondition 中,HTTPS_HOST似乎只匹配通过https://协议 (ssl)访问的 url 。我在某处的文档中看到它是一个 T/F 变量,指示是否使用安全协议访问了 url。

然而,我在上文档的麻烦发现是否HTTP_HOST只匹配http://协议,或者如果它有效地匹配//相对的协议,这意味着它符合双方 http:// https://

有人可以以一种或另一种方式确认,或向我指出此信息的明确来源吗?

此外,如果HTTP_HOST匹配两个协议变体,过滤 http://协议匹配的最佳方法是什么?

例子:

<IfModule mod_rewrite.c>
RewriteEngine on
Rewritecond %{HTTP_HOST} ^\/\.(?!some-url).*$
RewriteRule (.*) https://www.example.com/$1 [R=301,L,NC]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

相比之下:

...
Rewritecond %{HTTPS_HOST} ^\/\.(?!some-url).*$
...
Run Code Online (Sandbox Code Playgroud)

编辑:实验表明,HTTP_HOST 似乎与两种协议都匹配,而HTTPS_HOST仅当协议或 url 以https://.

.

(注重:apache2标签
。TBH,我不能肯定我运行的是什么版本的Apache将尝试找出,这样我就可以装上适当的标签..
我想httpd -vapache -v, …

mod-rewrite rewrite .htaccess apache2

8
推荐指数
1
解决办法
3万
查看次数

标签 统计

.htaccess ×1

apache2 ×1

mod-rewrite ×1

nginx ×1

rewrite ×1