标签: rewrite

Nginx:从给定目录中提供静态文件 - 一级太深

我对 nginx 配置很陌生。我在一个非常基本的问题上遇到了一些困难。我想在/doc(index.html、一些图像等)上托管一些静态文件。这些文件位于名为 /sites/mysite/proj/doc/ 的目录中。

问题是,使用下面的 nginx 配置,nginx 会尝试查找名为“/sites/mysite/proj/doc/doc”的目录。也许这可以通过将根设置为 /sites/mysite/proj/ 来解决,但我不想潜在地暴露 proj/ 目录中的其他(非静态)资产。由于各种原因,我无法真正将 doc/ 目录从它所在的位置移开。

我认为有一种方法可以使用 Rewrite 规则来解决这种情况,但我并不是真正了解所有部分,因此制定规则有些困难。

rewrite ^/doc/(.*)$ /$1 permanent;
Run Code Online (Sandbox Code Playgroud)

我还包含了一个从 /sites/mysite/htdocs/static/ 目录托管文件的工作示例。

> vim locations.conf

location /static {
    root   /sites/mysite/htdocs/;
    access_log   off;
    autoindex  on;
}

location /doc {
    root   /sites/mysite/proj/doc/;
    access_log   on;
    autoindex  on;
}


2011/11/19 23:49:00 [error] 2314#0: *42 open() "/sites/mysite/proj/doc/doc" failed (2: No such file or directory), client: 100.100.100.100, server: , request: "GET /doc HTTP/1.1", host: "myhost.com"
Run Code Online (Sandbox Code Playgroud)

有没有人知道我如何处理这些静态内容?

rewrite webserver nginx

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

如何删除 nginx 服务的 URL 中的双斜杠?

我需要在 Ubuntu 12.04 上的 Nginx 配置中复制以下 Apache 重写规则。nginx 相当于什么:

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]
Run Code Online (Sandbox Code Playgroud)

rewrite nginx

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

没有扩展名的 Apache 映射文件如何?

我的本地开发设置将http://mydomain.dev/testhtmlpage映射到 testhtmlpage.html 和http://mydomain.dev/testphppage到 testphppage.php。浏览器停留在最初输入的 URL 上。问题是我最初没有配置我的机器,虽然我现在对它有一个很好的处理,但我找不到定义这种行为的地方。

我检查了我的 httpd.conf 和两个包含的区域,但没有运气。

我的 httpd.conf: http : //denishoctor.me/myhttpdconf.xml(查看源代码)

在包含 /private/etc/apache2/other/*.conf 中:

<IfModule php5_module>
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

<IfModule dir_module>
    DirectoryIndex index.html index.php
</IfModule>
Run Code Online (Sandbox Code Playgroud)

有人有任何想法吗?

url apache-http-server filesystems rewrite php

9
推荐指数
1
解决办法
6251
查看次数

模块 DLL C:\WINDOWS\system32\inetsrv\rewrite.dll 加载失败

我刚刚从 7 升级到 Windows 10。到目前为止很酷,但是当我尝试转到我的任何应用程序时,应用程序池崩溃了,我得到了 503。我可以重新启动应用程序池,但它继续崩溃。所以我检查了事件日志,看看发生了什么。然后我收到错误“模块 DLL C:\WINDOWS\system32\inetsrv\rewrite.dll 加载失败”。大多数人遇到的问题是 dll 不存在。然而这不是我的问题。因为它就在那里。经过一番谷歌搜索后,我一直无法找到解决方案。任何人都可以帮我吗?根据我的注册表,我正在运行 IIS 10.0?

我已经安装了重写 2.0。我打算尝试这个,http ://forums.iis.net/t/1171695.aspx?How+do+I+determine+which+version+of+IIS+is+running(更改注册表中 Majorversion 上的位和安装重写 2.0)

rewrite dll windows-10

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

将浏览器重定向到不同的主机和端口

背景,运行 Windows 7,FF3.5,并且是管理员。我收到来自公司内部服务的包含链接的电子邮件。问题是链接在我的办公室不起作用。如果资源是http://sub1.sub2.domain.com/page.html,我需要去 http://so.me.ip:8080/page.html 。(http 中的空格,因为我只允许一个链接...)

要点是需要将域映射到 ip AND 端口。我对系统范围内的想法持开放态度,浏览器(某种插件?)甚至以某种方式修改进入 Outlook 的电子邮件。我很技术,所以不要退缩。有任何想法吗?

windows port redirection rewrite hosts

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

我使用什么 Firefox 功能来重写和打开活动页面的 URL?

我们的大学提供代理服务,让我可以像通过大学网络在线一样浏览网站。但是,尽管我很懒惰,但我厌倦了在 Firefox 中转到 URL 编辑字段并将https://superuser.com/更改为http://superuser.com.ezproxy.its.uu.se/并打开它新网址。

相反,我更喜欢在我的Firefox窗口中单击一个按钮。因此,我的问题是,如何创建这样的功能。我对用户脚本、无处不在或附加组件作为解决方案感到满意:我应该使用什么 Firefox 功能来将ezproxy.its.uu.se附加到任何 URL 的域部分,并打开该新 URL?

firefox url rewrite browser-addons

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