用于具体下载的 Htaccess 重定向循环,难度级别:wordpress 也在混合中

Htaccess redirect loop for Concrete downloads, difficulty level: wordpress also in the mix

我的根 Web 文件夹中安装了 WordPress。它使用标准的 WordPress .htaccess 文件:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

由于我无法更改的原因,曾经在根目录中安装了一个 Concrete5。它已被移动到名为 "form".

的子文件夹中

WordPress 和 Concrete 愉快地共存,但有 1 个例外:我需要以前的 Concrete 下载才能重定向到新位置。我在 .htaccess 文件中尝试的内容不起作用:

RedirectMatch 301 /index.php/download_file/force/(.*) /form/index.php/download_file/force/

我正在努力摆脱这个:

http://example.com/index.php/download_file/force/623/145/

为此:

http://example.com/form/index.php/download_file/force/623/145/

我目前遇到重定向循环。

您的重写模式必须以 ^

开头
RedirectMatch 301 ^/index.php/download_file/force/(.*) /form/index.php/download_file/force/

否则重定向目标也匹配模式 /index.php/download_file/force/(.*) 并导致重定向循环