标签: rewrite

如何导出 URL 重写规则?

是否可以为 IIS7 导出 URL 重写规则?

我正在设置一个网站的副本供内部使用(测试),并希望复制所有 URL 重写规则而无需手动输入它们。

有一个导入选项,但没有明显的“导出”...

谢谢!

windows windows-server-2008 rewrite iis-7

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

在 nginx 代理中禁用 URL 解码

当我浏览到这个 URL 时:http://localhost:8080/foo/%5B-%5Dserver ( nc -l 8080) 按原样接收它:

GET /foo/%5B-%5D HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

但是,当我通过 nginx (1.1.19) 代理此应用程序时:

location /foo {
        proxy_pass    http://localhost:8080/foo;
}
Run Code Online (Sandbox Code Playgroud)

通过 nginx 端口路由的相同请求转发路径解码:

GET /foo/[-] HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

GET 路径中的解码方括号导致目标服务器中的错误(HTTP 状态 400 - 路径中的非法字符...),因为它们未转义到达。

有没有办法禁用 URL 解码或将其编码回来,以便目标服务器在通过 nginx 路由时获得完全相同的路径?一些巧妙的 URL 重写规则?

rewrite url nginx

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

如何将 HTML 代码注入到每个交付的 HTML 页面中?

我有一个Apache web server提供静态 HTML 页面的工具。出于某种原因,我无法更改文件本身,但我仍然想将一些 HTML 注入到正在提供服务的每个页面中。

这可能mod_proxy吗?如果没有,有人可以推荐提供这种功能的软件吗?

编辑:我必须插入某种横幅广告(例如 a javascript)和跟踪像素。

rewrite proxy html apache-2.2

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

nginx + PHP-FPM = nginx 日志中的“权限被拒绝”错误 13;配置错误?

我在一台 RHEL5 服务器上的 PHP 5.2.10 下运行了 nginx 0.7x + PHP-FPM,但试图在第二台服务器上的 PHP 5.3.3 中的捆绑 PHP-FPM 下复制该设置,我有每次有 GET 时都会遇到权限错误的问题。

FPM启动了,确认fastcgi在9000上监听,但是每次做GET的时候,在nginx日志中看到这个错误:

2010/08/12 23:38:53 [crit] 5019#0: *5 stat() "/home/noisepages/www/" failed (13: Permission denied), client: 24.215.173.141, server: dev.noisepages.com, request: "GET / HTTP/1.1", host: "dev.noisepages.com"
Run Code Online (Sandbox Code Playgroud)

Barebones nginx.conf.default 至少可以工作。这是我的 nginx.conf

server {
        listen       80;
        server_name  dev.noisepages.com;
        root   /home/noisepages/www;
        index  index.html index.htm index.php;

        access_log  logs/dev.access.log;
 error_log logs/dev.error.log;

        location / {

 if (-f $request_filename) {
  expires 30d;
  break;
  }

 # this sends all non-existing file or directory requests to …
Run Code Online (Sandbox Code Playgroud)

rewrite nginx fastcgi php5 php-fpm

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

nginx 重写带有参数的 url

我有一个这种类型的网址:

http://www.example.com/?param1=val1&param2=&param3=val3&param4=val4&param5=val5
Run Code Online (Sandbox Code Playgroud)

我想将它重定向到这个:

http://www.example.com/newparam/val3/val4
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这个重写规则但没有成功:

rewrite "/?param1=val1&param2=&param3=(.+)&param4=(.+)&param5=(.+)" http://www.example.com/newparam/$1/$2 redirect;
Run Code Online (Sandbox Code Playgroud)

nginx 不能处理查询参数吗?

编辑:我不想重写所有请愿书。我只需要重写那个 URL,而不影响其他 URL。

rewrite configuration nginx redirect

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

Nginx https 重写将 POST 变为 GET

我的代理服务器在 ip A 上运行,这就是人们访问我的 Web 服务的方式。nginx 配置将重定向到 ip B 上的虚拟机。

对于 IP A 上的代理服务器,我的站点中有此可用

server {
        listen 443;
        ssl on;
        ssl_certificate nginx.pem;
        ssl_certificate_key nginx.key;

        client_max_body_size 200M;
        server_name localhost 127.0.0.1;
        server_name_in_redirect off;

        location / {
                proxy_pass http://10.10.0.59:80;
                proxy_redirect http://10.10.0.59:80/ /;

                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

}

server {
        listen 80;
        rewrite     ^(.*)   https://$http_host$1 permanent;
        server_name localhost 127.0.0.1;
        server_name_in_redirect off;
        location / {
                proxy_pass http://10.10.0.59:80;
                proxy_redirect http://10.10.0.59:80/ /;
                proxy_set_header Host $http_host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; …
Run Code Online (Sandbox Code Playgroud)

rewrite nginx

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

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

从外部源维护 nginx 中的重定向

我的情况是让我们的营销部门有机会自己维护重定向。到现在为止,他们将信息传递给 IT 部门,我们在nginx.conf.

其中一些人非常熟悉 IIS 甚至 Apache 中的重定向,但无法让他们直接访问 nginx 配置。

我看到,.htaccess我可以访问的文件没有 nginx 支持,而且我也不想授予对 nginx 包含的 conf 文件的写访问权限。我希望,我们的营销将在数小时内破坏我们的 nginx 设置......

如果不让他们访问我们的负载均衡器的核心,是否有安全的可能性?

rewrite nginx

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

nginx不区分大小写的重写

我试图让我的 nginx 重定向尽可能干净。我知道 ~* 不区分大小写,但我只能让它在示例 2 中工作。

示例 1

rewrite ^/foobar http://www.youtube.com/watch?v=oHg5SJYRHA0 redirect;
Run Code Online (Sandbox Code Playgroud)

示例 2 - 这有效,但不如上面的行有效。

if ( $request_filename ~* foobar ) {
         rewrite ^ http://www.youtube.com/watch?v=oHg5SJYRHA0 redirect;
   }
Run Code Online (Sandbox Code Playgroud)

有没有办法使用示例 1 进行不区分大小写的重定向而不会让它变得太混乱?

谢谢。

rewrite nginx

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

如何强制我的网址始终以 www 开头?

我想确保用户www.mydomain.com即使通过 alias 到达mydomain.com。这样我就可以控制子域上的 cookie,这样 Google 就会看到一个域,而不是一大堆 URL。

我怎样才能用 apache 做到这一点?

rewrite url redirect apache-2.2

17
推荐指数
1
解决办法
1657
查看次数