将 .htaccess 重写传输到 apache vhost 配置

将 .htaccess 重写传输到 apache vhost 配置

我正在使用一个脚本,每次在查询字符串中出现特殊关键字组合时都会调用该脚本 - 在我的服务器上的所有域上。我在每个具有以下行的域上使用 .htaccess 文件:

        RewriteBase /

        RewriteCond some_conditions_here
        RewriteRule .* myspecialscript.php [L,QSA]

由于我有时会处理重写条件,因此我必须修改每个虚拟主机的所有 .htaccess。但是我正在运行一个服务器前端软件,该软件允许在每个虚拟主机配置文件中自动包含一个特殊部分 - 所以我想移植上面的重写规则以在虚拟主机配置中工作。但我所做的——我失败了。重写条件被正确识别 - 但重写本身失败。

我尝试过以下两种方法:

<IfModule mod_rewrite.c>
        RewriteEngine On

        RewriteCond some_conditions_here
        RewriteRule ^/(.*) https://%{HTTP_HOST}/myspecialscript.php [L,QSA]
        RewriteRule .* myspecialscript.php [L,QSA]
</IfModule>

第一个失败,显示“...重定向太多...”,第二个失败(当然是因为缺少重写基础),错误 400。

当然,我一次只添加了一项规则 - 但两者都失败并出现上述错误。问题是什么?

答案1

太傻了。我只是忘记了目标处的尾随 / ......

相关内容