标签: mod-headers

如何有条件地修改Apache响应头'Location'

我需要能够在某个模式的位置响应标头中测试URL字符串,如果匹配则将其替换为另一个模式.

例如,如果响应是位置:http://wrongserver.com我需要将其更改为位置:http://rightserver.com

似乎mod_setenvif仅对请求标头进行操作,因此我无法将其与"标头集"指令相结合以实现我想要的目标.

内容未被代理,因此使用mod_proxy指令似乎不是一个选项.

谢谢,伯尼

apache header response mod-headers

8
推荐指数
1
解决办法
2万
查看次数

mod_headers无法正常工作

我启用mod_headersmod_rewrite在我的http.config中删除#from行.

LoadModule headers_module modules/mod_headers.so

LoadModule rewrite_module modules/mod_rewrite.so
Run Code Online (Sandbox Code Playgroud)

我需要启用更多的东西或错误是.htaccess?

的.htaccess.

RewriteEngine On
RewriteRule ^(.*?)\.x$ /$1.php [L]
<IfModule mod_headers.c>   
   <filesMatch "\.(x)$">
        Header set foo "baa"
  </filesMatch>  
</IfModule> 
Run Code Online (Sandbox Code Playgroud)

提前致谢!

apache mod-headers

6
推荐指数
1
解决办法
2万
查看次数

使用Apache为文件系统中不存在的路径添加到期标头

出于CDN失效的目的,我需要在站点URL的路径元素中添加前缀.每当发布新版本的资产时,都会更改此信息.

然后使用mod_rewrite将URL重写为:http://example.com/cdn/20111030/images/image.jpghttp://example.com/images/image.jpg,这是资产实际所在的位置.

我想在响应中添加长期到期标题(至少3个月)(对于文件系统中实际不存在的第一个URL).有谁知道如何做到这一点?

apache mod-rewrite cdn mod-expires mod-headers

6
推荐指数
2
解决办法
6504
查看次数

Mod_deflate和mod_header设置?

我终于得到了一个VPS主机帐户设置,这允许我使用mod_deflate和mod_header(当然).我试图通过YSlow的指导方针使我的网站更快,其中包括gzipping(通过mod_deflate)页面和设置一个长期过期标题.

这个.htaccess代码会是什么样的?我已经看过各种例子,但我想知道适合这些参数会是什么样子.

例如

# Mod_deflate
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|iso|tar|bz2|sit|rar|png|jpg|gif|jpeg|flv|swf)$ no-gzip dont-vary
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.[0678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent env=!dont-vary
</IfModule>
Run Code Online (Sandbox Code Playgroud)

optimization .htaccess mod-deflate yslow mod-headers

6
推荐指数
1
解决办法
2万
查看次数

mod_expires或mod_headers?

这个页面说明了这个:

如果响应包括Expires头和max-age指令,则max-age指令会覆盖Expires头,即使Expires头更具限制性

似乎mod_expires和mod_headers都在我的服务器中处于活动状态.
哪一个更可取,你能评论每个人的优势吗?
谢谢.

apache mod-expires browser-cache mod-headers

5
推荐指数
1
解决办法
4143
查看次数

在Apache中设置多个cookie

我正在尝试使用mod_header在Apache(2.2)中设置两个cookie,如下所示:

Header set Set-Cookie "poodle=noodle;path=/;Secure;HttpOnly;Expires=Wed, Jan 01 2020 2:02:02 GMT"
Header set Set-Cookie "tweedle=puddle;path=/;Secure;HttpOnly;Expires=Wed, Jan 01 2020 2:02:02 GMT"
Run Code Online (Sandbox Code Playgroud)

但只有最后一个cookie被发送到浏览器.我已经做了一些搜索,但只发现有这个问题的人没有解决方案.我尝试将它们组合成一个:

Header set Set-Cookie "poodle=noodle;tweedle=puddle;path=/;Secure;HttpOnly;Expires=Wed, Jan 01 2020 2:02:02 GMT"
Run Code Online (Sandbox Code Playgroud)

同样的问题.我需要使用"Header append"吗?任何例子将不胜感激.

apache cookies mod-headers

5
推荐指数
2
解决办法
2万
查看次数

Apache 不会为 PHP 脚本设置标头

这个.htaccess文件:

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresDefault "access plus 4 month"
</IfModule>
<IfModule mod_headers.c>
    Header merge X-ModHeaders "Yes, it is installed"
</IfModule>
Run Code Online (Sandbox Code Playgroud)

...在我的开发框(Windows框,Apache/2.4.10,PHP作为Apache模块运行)中按预期工作,其中“有效”意味着它为所有资源(静态或动态)生成适当的标头。

但是,在我的生产服务器(Linux 机器,Apache/2.2.31,PHP 作为 FastCGI 与 mod_fcgid/2.3.9 运行)中,它仅适用于静态资产,不适用于 PHP 脚本。

我怀疑差异来自 PHP SAPI 是否正确?有没有办法修复它,这样我就不需要复制生成 HTTP 标头的代码?

php apache mod-fcgid mod-expires mod-headers

5
推荐指数
1
解决办法
3368
查看次数

如何简单地列出大约 99 个域来启用 CORS?

我目前的.htaccess文件列出了数十个域,以便从我的服务器启用 CORS。

我在下面缩短了示例,但所有域名都是相似的,域名中唯一更改的部分是 www 后面的 1 或 2 位数字。

<IfModule mod_headers.c>
    SetEnvIf Origin "http(s)?://(www48.example.com||www47.example.com)$" AccessControlAllowOrigin=$0
        Header add Access-Control-Allow-Origin %{AccessControlAllowOrigin}e env=AccessControlAllowOrigin
        Header merge Vary Origin
</IfModule>
Run Code Online (Sandbox Code Playgroud)

所以在这个例子中我启用了 CORS

https://www48.example.com
https://www47.example.com
Run Code Online (Sandbox Code Playgroud)

我想要一种更简单的方法来启用具有相似名称的 99 个域的列表。因此,除了“www”后面的数字 1 到 99 之外,所有域名都是相同的,如何在不单独列出所有 99 个域名的情况下实现这一目标?

https://www1.example.com
https://www2.example.com
....
https://www10.example.com
....
https://www40.example.com
....
https://www70.example.com
....
https://www99.example.com
Run Code Online (Sandbox Code Playgroud)

regex apache .htaccess mod-headers

4
推荐指数
1
解决办法
197
查看次数

将标头读入 Apache 2.2 中的环境变量?

我想使用自定义重写映射处理请求标头。

因此,我想在环境变量中包含标头的内容。

我还没有找到用 mod_headers 和/或 mod_rewrite 做到这一点的方法。

任何帮助是appriciated。

apache mod-rewrite apache2 http-headers mod-headers

3
推荐指数
1
解决办法
3968
查看次数

访问控制允许来源:500内部错误

因此,我试图让siteA在siteB上执行jquery .load某些内容。在执行此操作时,我收到了Access-Control-Allow-Origin错误。因此,在siteB上,我放置了一个.htaccess文件,该文件应允许siteA能够从中获取内容。我为此遇到了一些麻烦。我知道正在访问.htaccess文件,因为当页面尝试加载并且.htaccess文件中有内容时,它会收到500内部错误。

在.htaccess文件中,我尝试过:Access-Control-Allow-Origin:*和:Access-Control-Allow-Origin:“ *”

但都给出500错误。我也尝试过:Access-Control-Allow-Origin:*

这不会产生500错误,因此它必须返回为false。我现在不确定该怎么做。它可能是我格式化.htaccess文件错误或其他原因,但我认为可能与未启用mod_headers有关。

在日志中:无效命令“ Access-Control-Allow-Origin:”,可能是拼写错误或由服务器配置中未包含的模块定义的

这两个站点都通过10.8 Server.app运行,因此它与正常的Apache安装略有不同,这使其变得有些困难。任何帮助将不胜感激!提前致谢!

php apache mod-headers osx-mountain-lion

3
推荐指数
1
解决办法
5431
查看次数