我对 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)
有没有人知道我如何处理这些静态内容?
我需要在 Ubuntu 12.04 上的 Nginx 配置中复制以下 Apache 重写规则。nginx 相当于什么:
RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 [R=301,L]
Run Code Online (Sandbox Code Playgroud) 我的本地开发设置将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)
有人有任何想法吗?
我刚刚从 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)
背景,运行 Windows 7,FF3.5,并且是管理员。我收到来自公司内部服务的包含链接的电子邮件。问题是链接在我的办公室不起作用。如果资源是http://sub1.sub2.domain.com/page.html,我需要去 http://so.me.ip:8080/page.html 。(http 中的空格,因为我只允许一个链接...)
要点是需要将域映射到 ip AND 端口。我对系统范围内的想法持开放态度,浏览器(某种插件?)甚至以某种方式修改进入 Outlook 的电子邮件。我很技术,所以不要退缩。有任何想法吗?
我们的大学提供代理服务,让我可以像通过大学网络在线一样浏览网站。但是,尽管我很懒惰,但我厌倦了在 Firefox 中转到 URL 编辑字段并将https://superuser.com/更改为http://superuser.com.ezproxy.its.uu.se/并打开它新网址。
相反,我更喜欢在我的Firefox窗口中单击一个按钮。因此,我的问题是,如何创建这样的功能。我对用户脚本、无处不在或附加组件作为解决方案感到满意:我应该使用什么 Firefox 功能来将ezproxy.its.uu.se附加到任何 URL 的域部分,并打开该新 URL?
rewrite ×6
nginx ×2
url ×2
dll ×1
filesystems ×1
firefox ×1
hosts ×1
php ×1
port ×1
redirection ×1
webserver ×1
windows ×1
windows-10 ×1