我有几个静态网站(主要由狮身人面像生成),我试图托pipe我的VPS。 我已经根据指南安装并configuration了nginx,并且可以成功显示我的网站,但问题是url是绝对的,而且看起来很丑。 例如,一个典型的站点文件夹可能如下所示: /public_html/index.html /public_html/api.html /public_html/quickstart.html HTTP请求/将URL更改为“ http://sitename/index.html ”。 我基本上想要从URL需求中删除所有的静态前缀,强制nginx将传入的请求路由到/,/ api,/ quickstart到正确的位置,并强制nginx在用户访问页面时显示合适的URL。 我试过Googlesearch,但是我发现所有的重写规则都是我想要做的太复杂了。 任何帮助将不胜感激。
我有一个IIS7服务器,作为其他几个Web服务器的反向代理。 其他服务器运行在不同的端口上,所以IIS7服务器提供了“友好的URL”,全部在端口80上。URL重写用于将请求交给后端服务器。 一个这样的服务器是TeamCity(持续集成和构build服务器)。 该服务器提供了一种下载构build结果的方法('构build工件')。 通常这些工件是一个zip压缩文件。 以下是一个示例url: http://build.teamserver.tigranetworks.co.uk/repository/download/bt25/4164:id/ASCOM+Telescope+Driver+for+AWR+6.0.40.825.zip ASCOM+Telescope+Driver+for+AWR+6.0.40.825.zip中的ASCOM+Telescope+Driver+for+AWR+6.0.40.825.zip实际上是最终文件名中的空格; TeamCity服务器放入+字符。 当单击此链接时,我从IIS7服务器收到以下错误: 404 – 找不到文件或目录。 您正在查找的资源可能已被删除,名称已更改或暂时不可用。 出现在IIS7日志文件中的实际URL是: /repository/download/bt25/4164:id/ASCOM+Telescope+Driver+for+AWR+6.0.40.825.zip 重写规则匹配模式(.*)并使用重写URL http:// localhost:8022 / {R:1} 现在这是有趣的事情。 如果我回到我的浏览器并编辑出这些+字符,小心地用空格replace它们,那么URL就起作用了! 我得出这样的结论:URL重写对于那些+字符不起作用。 这是一个已知的问题? 有什么build议么?
如果我在DNS中有以下logging: hostname Record Type address benmccormack.com A 216.10.244.61 www.benmccormack.com CNAME benmccormack.com 当用户inputhttp://benmccormack.com时,用户期望在浏览器的地址栏中看到什么? 那么http://www.benmccormack.com怎么样? 我期待,我会在地址栏中看到http://www.benmccormack.com更改为http://benmccormack.com ,但也许我误解了一个CNAMElogging应该如何工作。 (注意:我刚刚在15分钟前更新了我的网站的dns,所以也许这些更改还没有传播。)
我一直在尝试在Windows 2008 R2上的IIS 7.5上创build具有静态HTML页面和压缩function的站点的出站规则。 如果我有任何forms的压缩启用(静态或dynamic),我得到这个错误: HTTP Error 500.52 – URL Rewrite Module Error. Outbound rewrite rules cannot be applied when the content of the HTTP response is encoded ("gzip"). closures压缩不是一个真正的select,因为对页面加载性能有很大的负面影响。 我想象使用出站重写规则的任何人都会遇到这个错误,因为你总是希望为文本内容启用压缩。 我已经看了一些build议,让这个工作: https://stackoverflow.com/questions/3713804/url-rewrite-outbound-rules-iis7/4363301#4363301 和 http://forums.iis.net/p/1165899/1937454.aspx#1937454 但我仍然得到同样的错误。 有没有人得到这个工作? 如果这样怎么样?
我正在寻找一个IIS解决scheme(不是编程)来redirect一个网站到移动版本的网站。 它看起来可能,但不能确定,与IISredirect或使用IIS URL重写2.0。 如果是这样的话,怎么会这样呢? 例如:mywebsite.com/redirect到(如果移动设备)mywebsite.com/mobile 注意:我们目前使用IIS Redirect将httpredirect到https。
我想要的url http://www.example.com redirect到 http://www.example.com/something/else 这是因为一些不可思议的WP插件总是在基础url上设置一个cookie,这不允许我caching它。 我试过这个指令: location / { rewrite ^ /something/else break; } 但1)没有redirect和2)页面开始向我的服务器发送超过1000个请求。 有了这个: location / { rewrite ^ http://www.example.com/something/else break; } Chrome报告一个redirect循环。 什么是正确的正则expression式使用?
我已将VirtualHost example.comconfiguration为将所有请求都委托给Tomcat服务器 ProxyPass / http://localhost:8088/app ProxyPassReverse / http://localhost:8088/app 这适用于像example.com/page这样的URL,但是对于example.com和example.com/,我得到这个redirect响应,这显然导致什么都没有。 HTTP/1.1 302 Moved Temporarily Date: Wed, 06 Jul 2011 21:13:37 GMT Server: Apache-Coyote/1.1 <– the redirect comes from tomcat Location: http://example.com/app/ <– nonsense … 我能做些什么来解决它? 最好在Apacheconfiguration中。 我正在使用Apache 2和Tomcat 7
是否有可能取代通过代理传递的每个页面上的内容,类似于如何使用mod_rewrite URL? 替代文件不清楚。 我有一些页面我是反向代理,有绝对path。 这打破了网站。 他们需要更换和像mod_rewrite这样的工具不拾起它们,因为它们不是URL请求。 <VirtualHost *:80> ServerName servername1 ServerAlias servername2 ErrorLog "/var/log/proxy/jpuat_prox_error_log" CustomLog "/var/log/proxy/jpuat_prox_access_log" common RewriteEngine on LogLevel alert rewrite:trace2 RewriteCond %{HTTP_HOST} /uat.site.co.jp$ [NC] RewriteRule ^(.*)$ http://jp.uat.site2uk.co.uk/$1 [P] AddOutputFilterByType SUBSTITUTE text/html Substitute "s|uat.site.co.jp|jp.uat.site2uk.co.uk|i" ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://uat.site.co.jp/ ProxyPassReverse / http://uat.site.co.jp/ </VirtualHost> 上述两种方法都不能替代HTMLstring <link href="//uat.site.co.jp/css/css.css […]
对于切诺基来说,我相当陌生,除了URL Rewrites之外,它是非常棒的。 有一个简单的向导吗? 让我知道。 另外我将如何移植这个: RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA] 谢谢
好吧,一个示例url http://www.mysite.com/?p=account&view=settings 普里是一个常数。 所有的url都有。 该view是许多可选的uri之一。 我试图了解URL重写和正则expression式,但我只是没有得到它。 我需要回到编写代码,但不幸的是,我只是不断回到nginx.conf ,以获得更多的惩罚。 我的目标是重写url为: http://www.mysite.com/account/view/settings 我会告诉你我尝试过的东西,但是它只是复制和粘贴了很多以前的例子,certificate了我正在掌握正则expression式和URL重写的概念。 如果有人可以花几分钟来解释正则expression式部分,或者链接到一个很好的教程了解它,我将不胜感激。 不,我不指望你为我做这个工作,但是我虚心地请求一点帮助,把握重写的概念以及在nginx conf中使用的variables。 我可以看到一个叫做$uri ,但是不知道它是什么意思。 我还需要添加一个正则expression式来拒绝在/socket和/private的PHP脚本的直接访问,但允许通过Ajax的访问。 我敢肯定,我可以将任何有关正则expression式的知识应用于这个任务。 我的nginx conf的位置块 location ~ \.(hh|php)$ { fastcgi_keep_conn on; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~* .(png|gif|ico|css|js)$ { expires 365d; } location ~ .(aspx|jsp|cgi)$ { return 410; } location /socket { return 405; […]