首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Apache htaccess中有条件地设置标头

在Apache htaccess中有条件地设置标头
EN

Stack Overflow用户
提问于 2016-08-11 21:26:07
回答 1查看 6.3K关注 0票数 4

我有一个PHP Laravel应用程序,其中包含一个标准的.htaccess文件,如下所示。

代码语言:javascript
复制
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

如果请求的URL映射到静态文件,则提供该文件,否则将调用index.php。我需要为静态文件添加一组头文件,这是上面最后两个条件的"else“。我需要像下面这样的伪代码。

代码语言:javascript
复制
if static file
    Header set MyHeaderOne "something"
    Header set MyHeaderTwo "something"
end if

我可以很好地添加标题,但在有条件的情况下无法这样做。我研究了一下SetEnvIf,这可能会使它成为可能。

那么,我如何才能只为静态文件添加一些头文件,即如果请求的文件存在(例如/images/example.jpg)?提前谢谢你!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-11 22:41:26

你可以像你所说的那样做一个条件语句。

代码语言:javascript
复制
<If "%{REQUEST_URI} =~ /\.(gif|jpe?g|png|css|js)$/">
  #put your header set stuff here
</If>

https://httpd.apache.org/docs/2.4/expr.html#examples

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38897706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档