我在这里问了另一个问题,前提是通过 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/