gpt4 book ai didi

apache - 重写规则,静态内容除外

转载 作者:行者123 更新时间:2023-12-04 06:59:01 24 4
gpt4 key购买 nike

我当前的 htaccess 文件如下所示:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f [NC]
RewriteCond %{REQUEST_FILENAME} !-d [NC]
RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]

这对我来说很好用,但是我想尝试减少服务器负载,所以我在 RewriteEngine On 线下方添加了这一行,以在加载静态内容时停止处理:
RewriteCond %{REQUEST_FILENAME} !.*jpg$|.*gif$|.*png$|.*css$|.*js$|.*txt$|.*ico$|.*pdf$ [NC]

这是最有效的写作方式吗?谢谢

最佳答案

在第 2 行中,您已经检查了请求的文件 ( !-f ) 是否存在,因此无需添加您的行,但您可以使用新的重写条件替换第 2 行,如果您想避免返回其他文件,例如 . php 文件。性能方面,我认为这不会加快 apache 的速度,而且您的 Web 应用程序中还有其他一些性能漏洞。

也就是说,您的模式可能不是您所期望的,例如.*jpg$匹配 mysuperjpg以及。您可能正在寻找 \.jpg$ , 因为 。是正则表达式的特殊字符。你可以这样做:

RewriteCond %{REQUEST_FILENAME} !\.(jpg|gif|png|css|js|txt|ico|pdf)$ [NC]

关于apache - 重写规则,静态内容除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2183565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com