我想知道我必须添加到apache.conf文件来实现以下function: 对于没有指定虚拟主机的所有请求,他们必须去我指定的虚拟主机之一(但我不想使用ServerAlias,因为有太多的域名,我将不得不列出)。 而且我也不想使用ErrorDocument 404选项,因为我已经使用它了。 在networking服务器的直接IP上的请求将做一个redirect到另一台服务器上的URL(现在我使用PHPredirect,在www根目录中有一个index.php)
我有一个运行在Nginx,FastCGI和php-fpm上的网站,其上有许多子目录(通过与网站其他部分相同的前端控制器运行)。 http://www.example.com/ – 主要网站 http://www.example.com/sub/site/ – 微型网站 我正在寻找一个configuration,允许其中一个子站点从一个替代的URL,如http://site.johndoe.com/ – 同一个站点,与相同的前端控制器生产它(磁盘上给定位置的index.php),但仅将http://www.example.com/sub/site/的内容显示为新域。 总之 , http : //site.johndoe.com需要透明地显示http://www.example.com/sub/site/的内容 – 需要重写和其他server{}configuration的Nginx / FastCGI的?
我正在使用Railo编写一个网站。 我的代码将被部署在运行在Tomcat上的Railo服务器上,覆盖在常规的Apache + PHP服务器上。 我需要将所有请求发送到http://subdomain.myserver.co.uk/及其子文件到/public_html/railo/tomcat/webapps/ROOT/subdomain/目录。 我在cPanel中定义了一个子域,文档根目录为/public_html/railo/tomcat/webapps/ROOT/subdomain/ ,但仍然要求http://subdomain.myserver.co.uk/显示/public_html/railo/tomcat/webapps/ROOT/ 。 我可以查看我的文件,如果我请求http://subdomain.myserver.co.uk/subdomain/ 我一直在摆弄.htaccess文件,现在已经有一段时间了,但是我被困住了 有什么办法,我可以做我想要实现的,或者我辞职获取这些网页使用http://subdomain.myserver.co.uk/subdomain/
我刚刚从.com网站迁移到.co.uk(myurlstudio.com/blog到myurl.co.uk/blog)的子目录中,有一个wordpress博客。 问题是许多post都有图像,而他们的hrefs仍然指向旧域,所以他们不能使用当前的htaccess设置。 图片指向http://www.myurlstudio.com/blog/wp-content/uploads/image.jpg ,当我希望他们指向http://www.myurl.co.uk/blog/wp-content /uploads/image.jpg 。 所以,我需要在htaccess中更改的是“ http://www.myurlstudio.com/blog ”到“ http://www.myurl.co.uk/blog ”,无论它出现在哪里。 目前的htaccess看起来像这样(这是concrete5的标准URL重写scheme): # — concrete5 urls start — <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_HOST} ^(www.)?myurlstudio.com$ RewriteRule ^(.*)$ http://www.myurl.co.uk/$1 [L] RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L] </IfModule> # — concrete5 urls end — 正如你可以看到myurlstudio.com被redirect,但文件内的URL似乎并没有被重写。 任何帮助将非常感激!
我想写一个redirect规则,将发送所有传入的请求针对给定的服务器别名。 以下是我的.conf文件的样子。 我遇到与foo.com相关的第一条规则问题。 重写带有别名foo.com的请求根本不会发生。 我甚至不知道如何debugging这个… NameVirtualHost xxx.xx.x.194 <VirtualHost xxx.xx.x.194> ServerName foo.com ServerAlias www.foo.com RewriteEngine on RewriteRule ^(.*)$ /cgi-bin/redirect.py?url=spencer [L,QSA,PT] SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 </VirtualHost> <VirtualHost xxx.xx.x.194> ServerName bar.com ServerAlias www.bar.com Include /etc/httpd/conf.d/zumodo.common ErrorLog logs/zumodo_errors_log CustomLog logs/zumodo_log combined SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 </VirtualHost>
我在我的网页上使用mod_rewrite来允许正确处理友好的URL。 它在FF,Chrome和Safari中完美的工作,但在IE浏览器友好的url不断给我一个404错误(它不处理重写正确,所以它显示为404)。 有没有人有这方面的经验? 如果是的话,它是如何解决? 注意:我已经清除了caching,Cookie和会话,并重新启动了浏览器。 我使用IE 9,但也尝试过IE7和8,使用开发工具,没有运气在任何IE模式。 另外需要注意的是,IE可以重写一些页面,但是对于其他页面则不起作用。 例 用户访问: www.mysite.com/products/99-shoes.html 服务器将解释并从这里提供页面: www.mysite.com/product.php?id_product=99 以下是我在.htaccess中使用的指令types的示例: <IfModule mod_rewrite.c> # URL rewriting module activation RewriteEngine on RewriteRule ^products/([0-9]+)-[a-zA-Z0-9-]*.html /product.php?id_product=$1 [QSA,L] </IfModule> # Catch 404 errors ErrorDocument 404 /404.php 更新:额外信息 按照要求,我在下面提供了我的RewriteLog。 第一个是从我访问Chrome页面(正常工作)。 第二个是我在IE中访问页面时输出的内容。 我试图加载的页面是: http://localhost/products-fb/10-loop.html 。 我已经删除了一些重复的字符和时间戳,以坚持StackOverflow的30K字符限制。 如果您认为我可能删除了重要的内容,请告诉我,我可以上传.txt文件进行查看。 Chrome日志输出 (2) init rewrite engine with requested uri /products-fb/10-loop.html (1) pass […]
我有一个特定的Hyper-V guest虚拟机,在这个特定的Hyper-V主机上是5个虚拟主机之一,似乎无法build立任何传出的networking连接。 客户端运行Windows Server 2008 R2 SP1,并使用带有URL重写模块和应用程序请求路由的IIS 7.7,以便IIS服务器充当其他几个基于Apache的Web服务器的前端反向代理。 这一切工作正常,到服务器的传入请求被正确处理,所有服务的响应得到正确返回。 问题是,该服务器上没有任何东西可以进行传出连接。 例如,我不能使用IE9浏览外部网站,自动更新失败,后端服务器不能'打电话'检查更新,像Hamachi VPN的东西不能与Hamachi服务器通信,等等。 似乎服务器根本无法生成任何出站连接。 其他访客虚拟机在同一主机上没有问题。 我比较了来自两个访客的NETSH DUMP,除了IP地址,他们是相同的。 我认为这必须绑定与应用程序请求路由的东西莫名其妙,但我想不出如何或为什么。 我会很感激任何意见进一步调查这个问题。
我有以下nginx conf: server { server_name tawp.in; location / { rewrite ^/r/([^/]*)$ /s/ta/$1; rewrite ^/e/(.*)$ /en/ta/$1; uwsgi_pass unix:/tmp/uwsgi.sock; uwsgi_param UWSGI_CHDIR /home/yuvipanda/sites/wikishortipy; uwsgi_param UWSGI_CALLABLE app; uwsgi_param UWSGI_MODULE app; uwsgi_param UWSGI_FILE /home/yuvipanda/sites/wikishortipy/app.py; uwsgi_param UWSGI_SETENV WIKISHORTIPY_SETTINGS=/home/yuvipanda/sites/wikishortipy/settings.py; include uwsgi_params; } } 我期望两个重写规则只是在内部重写,但他们正在导致外部301redirect发送。 我究竟做错了什么? 您可以在tawp.in/r/3查看该网站,查看额外的redirect。 编辑 :添加last标志的重写没有帮助(因为它不应该)
我想redirect只有某些请求使用SSL而不是我的整个网站,但我不知道如何逃避这个redirect循环。 这里是我的服务器块,我尝试使用位置块redirectstream量: server { listen 80; server_name example.com; rewrite ^ http://www.example.com$request_uri? permanent; } server { listen 80; listen 443 ssl; ssl_certificate /srv/ssl/sslchain.crt; ssl_certificate_key /srv/ssl/example.com.key; server_name www.example.com; location / { root /usr/local/bin/rails/example/public; index index.html index.htm; passenger_enabled on; } location /users/sign_up { rewrite ^ https://www.example.com/users/sign_up break; } location /users/sign_in { rewrite ^ https://www.example.com/users/sign_in break; } if ($host […]
我将一个ASP.NET应用程序从IIS6迁移到IIS7,在这样做的同时我也将我的重写设置从Intelligencia.UrlRewriter移植到使用IIS重写。 在“Rejected-By-Urlscan”错误(像/åäö.html这样的/åäö.html应该被redirect到我的404页面)时遇到了一些问题。 在Intelligencia.UrlRewriter这工作: <rewrite url="^~/Rejected-By-UrlScan" to="~/sidan-finns-inte.html"/> 我将其移植到: <rule name="Rejected-By-UrlScan"> <match url="^Rejected-By-UrlScan" /> <action type="Rewrite" url="/sidan-finns-inte.html" /> </rule> 但我不断得到IIS内部404错误,而不是我的404错误(sidan-finns-inte.html)。 我怎样才能解决这个问题?