regex - 通过 htaccess 将部分添加到 URL

标签 regex apache .htaccess mod-rewrite

我在这里问了另一个问题,前提是通过 PHP 限制下载速度,我得出的结论是使用 mod_limitrate 是最好的解决方案。因此,使用以下代码我成功地限制了下载速度。

<Location "/limit5">
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit  5120
    SetEnv rate-initial-burst 5120
</Location>

<Location "/unlimited">
    SetOutputFilter RATE_LIMIT
    SetEnv rate-limit  204800
    SetEnv rate-initial-burst 204800
</Location>

但是我的文件结构并没有考虑到这一点,所以所有内容都在/目录中,以下是我的文件结构

/downloads
-> /downloads/1.zip
-> /downloads/2.zip
...
...

这使得我的下载链接https://example.com/downloads/1.zip,因此是否可以在 URL 中添加一部分,例如 https://example。 com/limit5/downloads/1.zip 但是仍然会定向到 https://example.com/downloads/1.zip

我假设 htaccess 是答案,但我不确定如何解决这个问题。

最佳答案

您可以在 Apache VirtualHost 配置或站点根目录 .htaccess 中尝试此规则:

RewriteEngine On

RewriteRule ^/?\w+(/downloads/.+)$ $1 [L,NC]

如果您只想在 downloads/ 之前允许 2 部分,则使用:

RewriteRule ^/?(?:limit5|unnlimited)(/downloads/.+)$ $1 [L,NC]

关于regex - 通过 htaccess 将部分添加到 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75097907/

相关文章:

regex - .htaccess SetEnvIfNoCase 主机排除特定子域

apache - 重写规则以将旧搜索转发到新搜索

regex - 不包含特定字符串的正则表达式

apache - catalina.sh jdpa start 不启动服务器

正则表达式替换以更改句子中的单词顺序

apache - Tomcat 7 WAR部署LifecycleException

macos - mac os 上的 XAMPP - Apache 无法启动

.htaccess - 允许 .htaccess 文件中的文件夹的规则

regex - libc regcomp 和 regexec 中的多字节字符

java - 正则表达式 (') 与 (,)