小编KEI*_*NOS的帖子

子域的Nginx变量?

我需要一个Guru的建议.

在Nginx的conf文件中,我想将子域作为变量,以便重定向访问,如下所示.

  • 访问: http://userX.example.com/?hoo=bar
  • REDIRECT: http://example.com/userX/?hoo=bar

但我明白了

  • REDIRECT: http://example.com/userX.example.com/?hoo=bar

我目前的_http.conf设置如下.所以很明显它是有效的.

## default HTTP
server {
    listen       80;
    server_name  default_server;
    return       301 http://example.com/$host$request_uri;
}
Run Code Online (Sandbox Code Playgroud)

下面是否有任何变量或方法?

## default HTTP
server {
    listen       80;
    server_name  default_server;
    return       301 http://example.com/$subdomain$request_uri;
}
Run Code Online (Sandbox Code Playgroud)

我知道如果子域部分是有限的,它可以被重定向,但我必须每次都添加它们,我希望它尽可能简单.

有没有简单的方法呢?

[ENV]:CentOS:7.3.1611,nginx:nginx/1.13.3,*.example.com在NS设置中针对同一台服务器.


结论(2017/12/13)

使用正则表达式:

server {
    listen       80;
    server_name  ~^(?<subdomain>.+)\.example\.com$;
    return       301 http://example.com/$subdomain$request_uri;
}
Run Code Online (Sandbox Code Playgroud)

参考:评论,文件

redirect nginx

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

在 macOS 上,如何找到使用“open”命令打开的应用程序的路径?

在 macOS 中,通过“打开”命令打开应用程序的选项之一如下所示:

$ open -a "Google Chrome"
$ open -a "GIMP"
Run Code Online (Sandbox Code Playgroud)

但我意识到即使应用程序不在/ApplicationsNor~/Applications目录中,上面的命令也可以工作。

那么,“如何使用命令行获取此应用程序的路径”?

我尝试使用find命令并搜索整个机器,但我认为会有更简单的方法来找到它。

原因是我需要访问“.app”目录中的 bin 文件,如下所示:

$ /path/to/GIMP.app/Contents/MacOS/GIMP-bin --help-all
Run Code Online (Sandbox Code Playgroud)

因为下面的命令似乎没有解析参数。

$ open -a "GIMP" --args --help-all
Run Code Online (Sandbox Code Playgroud)
  • macOS HighSierra (OSX 10.13.5)

macos terminal path environment-variables

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

从 macOS 中的“shasum”获取没有文件名的 SHA256 文件哈希值

在 macOS (Mojave) 上,“shasum”命令不是有一个选项,它只返回没有文件名的哈希值吗?

$ shasum -a 256 archive.tar.gz
35fe34e225a06d......00e72ee61a437b7226f9f   archive.tar.gz
Run Code Online (Sandbox Code Playgroud)

我当前在 macOS 的默认状态下工作的解决方法(无需额外安装):

$ shasum -a 256 archive.tar.gz | awk '{ print $1 }'
35fe34e225a06d......00e72ee61a437b7226f9f
Run Code Online (Sandbox Code Playgroud)
$ php -r "echo hash_file('sha256', 'archive.tar.gz'), PHP_EOL;"
35fe34e225a06d......00e72ee61a437b7226f9f
Run Code Online (Sandbox Code Playgroud)

但是,如果有一个命令选项,我想让它更简单。

是否有任何命令选项或者我是否必须为变通方法创建别名?

macos bash hash sha256

4
推荐指数
1
解决办法
1415
查看次数

用PHP PSR-2评论if/else语句的最佳方法

在我看来,样本#2似乎是更易读的评论方式.

但是,如果我将PSR-2应用于两个样本,样本#1将不会改变,但样本#2的结果将如下变化,并且它不是正确的评论.

在这些案例中评论的最佳方式是什么?

样品#1
/* Read cached data */
if ($useCache == true){
    // do something
/* Download and cache data */
} else {
    // do something
}
Run Code Online (Sandbox Code Playgroud) 样品#2
/* Read cached data */
if ($useCache == true){
    // do something
}
/* Download and cache data */
else {
    // do something
}
Run Code Online (Sandbox Code Playgroud) 样品#2的PSR-2结果
/* Read cached data */
if ($useCache == true){
    // do something
} /* Download and cache data …
Run Code Online (Sandbox Code Playgroud)

php comments psr-2

1
推荐指数
1
解决办法
1172
查看次数

如何获取 Mastodon API 中的所有嘟嘟声并将其删除?

如何获取我发出过的所有嘟嘟ID?

我想删除我在 Mastodon 的所有嘟嘟声(状态帖子),但无法获取所有嘟嘟声。

如果我删除我的帐户会更容易,尽管我想保留我的帐户并清理我的新闻机器人造成的所有混乱。

目前看来,Mastodon 还没有将删除所有嘟嘟声作为标准功能。

因此,我尝试使用Mastodon API递归删除它们,如下所示,但无法获取所有要删除的 Toot ID(状态 ID)。

  1. GET来自端点的嘟嘟 ID /api/v1/timelines/home

    curl -X GET --header 'Authorization: Bearer <ACCESS_TOKEN>' -sS https://sample.com/api/v1/timelines/home

  2. DELETE在端点处发出嘟嘟声/api/v1/statuses,并带有我得到的嘟嘟 ID。

    curl -X DELETE --header 'Authorization: Bearer <ACCESS_TOKEN>' -sS https://sample.com/api/v1/statuses/<Toot ID>

  3. 循环 2,然后循环 1,直到为空。

它清理了家庭时间线。但公开资料页面上留下了许多嘟嘟声。我还尝试从 ATOM feed 获取 ID,但没有帮助。

我所需要的只是我发出的状态 ID 列表。有任何想法吗?


目前的结论

根据@unarist的建议

API端点

https://sample.com/api/v1/accounts/<account id>/statuses

GET /api/v1/accounts/:id/statuses

将进行抓取。

不过,有3点需要注意:

  1. 默认情况下,此 API 方法仅提供 20 个状态(嘟嘟信息),最多 40 个。
  2. 授权的 API 请求限制为 300 个请求/5 …

api microblogging mastodon

1
推荐指数
1
解决办法
1818
查看次数