小编kay*_*ahr的帖子

mod_rewrite RewriteRule 中的相对替换

我想创建一个独立于网页安装位置的 mod_rewrite RewriteRule。我想在 .htaccess 文件中定义重写规则。让我们以此为例:

RewriteEngine on
RewriteRule ^(.*)\.html html.php
Run Code Online (Sandbox Code Playgroud)

使用此规则,我想将所有 *.html 请求映射到位于 Web 根目录中的 html.php 脚本。问题是,webroot 的公共基本 url 可以更改。因此,Web根目录可以位于http://www.somewhere.tld/或者在一些子目录http://www.somewhere.tld/foo/bar/

但是在重写规则中使用相对路径不起作用。所以我必须写其中之一:

/html.php (When web is located in root directory of the web)
/foo/bar/html.php (When web is located in foo/bar sub directory)
Run Code Online (Sandbox Code Playgroud)

或者我可以设置一个 RewriteBase 但我根本不想配置这个路径。我希望 apache 自动做正确的事情,这样我就可以将 web 复制到某个目录,它就可以工作,而无需告诉 web 所在的重写规则。我该怎么做。?

mod-rewrite .htaccess apache-2.2

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

如何在 Linux 上同步命令调用

这是我需要解决的具体问题(但我的问题不同,所以即使您不知道fail2ban是什么,也请继续阅读):

我正在尝试在 linux 服务器上使用 fail2ban 来禁止对多个服务(ssh、dovecot、apache、postfix 等)的暴力攻击。现在我偶然发现了一个问题,fail2ban 似乎同时执行多个 iptables 命令(使用 Python 中的线程)并且这经常失败(特别是在启动时),其中 iptables 返回“资源暂时不可用”。错误。

我想通过“同步”对 iptables 的调用来解决这些问题。我正在寻找一个程序来创建一些互斥锁/锁定文件,并且只有当这个文件可以被创建时,它才会启动真正的命令并在命令完成后删除互斥锁文件。如果互斥文件已经存在,则程序会等待互斥文件消失,然后尝试获取它。

使用这样的命令,我可以将 fail2ban 中的 iptables-actions 配置为相互等待,这样它们就不会同时执行。

我很确定已经有这样的程序了,所以我不必自己编写。但到目前为止我还没有找到。

linux shell iptables fail2ban

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

标签 统计

.htaccess ×1

apache-2.2 ×1

fail2ban ×1

iptables ×1

linux ×1

mod-rewrite ×1

shell ×1