我想做一个子域redirect,如果一个文件夹与键入子域相同的名称存在。 例如我有一些像www.mysite.de/mainpage/hui.php文件夹结构,并希望能够通过mainpage.mysite.de/hui.php访问它 不过,我想让它只有在有一个文件夹主页的时候才能做到这一点,并为其他文件夹做。 如果该文件夹不存在,我想回退到当前的htacces采取子域,并将其用作index.php的参数。 这部分迄今为止运作良好。 所以,我已经做了类似的事情 RewriteCond %{REQUEST_FILENAME} -d [OR] RewriteCond %{REQUEST_FILENAME} -f RewriteRule mainpage/([^/?]*)/?(.*)$ http://$1.mysite.de/$2 [L,R] 那将URI从www.mysite.de/mainpage/hui.php改为mainpage.mysite.de/hui.php ,但我也想让页面从mainpage.mysite.de/hui.php访问。 所以,我想也许是这样的 RewriteCond %{HTTP_HOST} ^(.*).mysite.de$ mainpage/$1 -d RewriteRule mainpage/([^/?]*)/?(.*)$ http://$1.mysite.de/$2 [L,NC,QSA] 当然这个代码不起作用,但是有人知道如何做到这一点?
我想转发一个内部IP地址到外部。 所以这就是我所做的: echo 1 > /proc/sys/net/ipv4/ip_forward 然后我使用iptables: iptables -t nat -A PREROUTING -s 192.168.1.x -j DNAT –to-destination 95.211.yz iptables -t nat -A POSTROUTING -j MASQUERADE 在这一点之后,当我ping 192.168.1.x时,我希望到达95.211.yz的服务器。 换句话说,我希望把所有针对内部IP的stream量都转换成外部IP,但这种情况不会发生。 我错在哪里?
我正在尝试在vps中设置一个域和一些子域。 这似乎工作正常,当我通过Firefox访问,但在我的手机或Chrome浏览器我redirect到子域。 这是对themendez.de的Chrome请求的访问日志: test.themendez.de:80 5.28.115.219 – – [27/Jul/2013:15:38:35 +0200] "GET /favicon.ico HTTP/1.1" 404 504 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" test.themendez.de:80 5.28.115.219 – – [27/Jul/2013:15:38:37 +0200] "GET /favicon.ico HTTP/1.1" 404 503 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" test.themendez.de:80 5.28.115.219 […]
我想在Jetty 9中强制使用https。显然: <Set name="confidentialPort">443</Set> 不再在docker工作9.我应该怎么做好?
Roundcubemail和Owncloud文件夹位于文档根目录下,但由于Roundcube OwnCloud插件的局限性,我必须按如下方式组织虚拟主机。 $ rcmail_config ['owncloud_url'] =' https: //webmail.whitecube.com/owncloud'; – 该URL不能更改或插件中断。 <VirtualHost 172.21.11.48:8080> ServerAlias "webmail.example.com" DocumentRoot "/var/www/html" </VirtualHost> <VirtualHost 172.21.11.48:8080> ServerAlias "cloud.example.com" DocumentRoot "/var/www/html/owncloud" </VirtualHost> 但是现在请求webmail.example.com会导致文档根目录下的Apachetesting页面,而不是roundcube文件夹。 看来解决这个问题的最优雅的方法是别名到roundcube文件夹,而不是尝试redirect或用roundcubemail重写URL到最后。 我这是正确的,你怎么做? webmail.example.com的请求应映射到/ var / www / html / roundcubmail。 请求cloud.example.com应继续映射到“/ var / www / html / owncloud”。 云必须位于webmail的webroot中,以便插件可以使用它。 我真的只是想要在webail的请求中跳过目录树中的一个级别。
我在Ubuntu上的Apache服务器上遇到ProxyPass的问题。 我configuration了Apache来处理我的服务器上的虚拟主机。 有一个应用程序在服务器上运行,并使用端口8001 8002.我需要做一些事情,如www.example.com/demo/origin显示我将看到的内容,当我访问www.example.com:8000 。 要显示的内容是一大堆HTML页面。 这是有问题的虚拟主机configuration部分 ProxyPass /demo/vader http://www.example.com:8001/ ProxyPassReverse /demo/vader http://www.example:8001/ ProxyPass /demo/skywalker http://www.example.com:8002/ ProxyPassReverse /demo/skywalker http://www.example.com:8002/ 现在当我访问example.com/demo/skywalker ,我会看到8002端口的第一页,比如说login.html页面。 第二个应该是www.example.com/demo/skywalker/userAction.html ,而服务器显示www.example.com:8000/login.html 。 在错误日志中,我看到如下所示: [Mon Nov 11 18:01:20 2013] [debug] mod_proxy_http.c(1850): proxy: HTTP: FILE NOT FOUND /htdocs/js/demo.72fbff3c9a97f15a4fff28e19b0de909.min.js 我没有任何文件夹htdocs在系统中。 这只是查看.html页面时的一个问题。 否则,不会出现这样的问题。 当我访问localhost:8001它将显示任何和所有内容没有任何错误或问题。 www.example.com/demo/skywalker会显示一个单独的网页 www.example.com/demo/origin显示不同的网页 和 www.example.com/demo/vader会显示不同的网页。 我也尝试过使用另一种types的组合, <Location /demo/origin/> ProxyPass http://localhost:8000/ ProxyPassReverse http://localhost:8000/ ProxyHTMLURLMap http://localhost:8000/ […]
我正在尝试将http://example.com/ *redirect到http://example.com/,但每次我都会有一个redirect循环。 什么是不正确的呢? 这两个(或任何其他正则expression式的组合)都不起作用: RedirectMatch temp ^/.+$ http://example.com RedirectMatch temp ^/.+$ http://example.com/ 这总是匹配,并且正在创buildredirect循环。
我使用Apache 2.4,并设置了两个虚拟目录。 一个需要SSL,另一个redirect到它。 如果用户尝试访问不存在/ derp的https://www.derp.com/derp ,则他们会正确获得404。但是,当用户访问http://www.derp.com/derp ,Apache会错误地redirect用户到https://www.derp.comderp ,删除path和域名之间的斜线。 我不知道是什么原因造成的。 以下是我的虚拟主机的设置。 <VirtualHost *:443> ServerAdmin [email protected] ServerName www.derp.com ServerAlias derp.com DocumentRoot "C:\Users\derp\Documents\Web Projects\derp" SSLEngine on SSLCertificateFile "C:\Apache24\certs\cert.cer" SSLCertificateKeyFile "C:\Apache24\certs\key.key" </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] ServerName www.derp.com ServerAlias derp.com Redirect permanent / https://www.derp.com/ </VirtualHost> <Directory "C:\Users\derp\Documents\Web Projects\derp"> Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted SSLRequireSSL […]
(我认为这个问题是Lighttpd从www.domain.comredirect到domain.com的重复,但是没有得到足够的关注,而且太旧了)。 我试图通过lighttpd + FastCGI部署一个应用程序,并encryption所有的stream量。 如果我在URL中明确使用HTTPS,那么效果很好,但是尽快尝试从HTTPredirect到HTTPS,URL的应用程序脚本名称(在本例中为index.py)包含在URL中,因此不是https:/ /somedomain.com/bleh我得到https://somedomain.com/index.py/bleh ,这会触发未find错误。 我尝试过移动一些东西,但是我无法很好地完成redirect。 这里是我的lighttpd.conf的相关内容 $SERVER["socket"] == ":80" { $HTTP["host"] =~ "(.*)" { url.redirect = ( "^/(.*)" => "https://%1/$1" ) } } $SERVER["socket"] == ":443" { ssl.engine = "enable" ssl.pemfile = "certificate.pem" ssl.use-sslv2 = "disable" ssl.use-sslv3 = "disable" } fastcgi.server = ( "index.py" => (( "socket" => "/tmp/app.socket", "bin-path" => "index.py", […]
我有一些问题redirect到另一台服务器。 我会尽量保持这个短。 我正在使用多个Linux VPS在一个池中挖掘litecoins。 出于某种原因,我select的所有池都是DDoSed,所以当我想要更改池时,我总是必须login到每个VPS(大约25),并将矿工设置更改为另一个池。 让我举一个例子。 这是一个游泳池的矿工设置: ./minerd -o stratum+tcp://gigahash.wemineltc.com:3333 -u username -p password 其中-o是池的URL, -u是用户名, -p是密码。 每当一个游泳池得到DDoSed,我必须login到每一个VPS,并将设置更改为另一个池,我厌倦了这样做。 我以为我可以把我的一个VPSredirect到池URL,所以我不必将设置更改为所有VPS,但只能更改为一个。 我想为所有的VPS做这样的设置: ./minerd -o MyMainVPSHostname.com -u username -p password 而MyMainVPSHostname.com会redirect到stratum+tcp://gigahash.wemineltc.com:3333或stratum+tcp://other-pool-host.com:3333所以如果一个池得到DDoSed我只能改变MyMainVPSHostname.comredirect到另一个。 但我不知道该怎么做。 我试着googleing,但没有成功。 我希望我解释得很好。 我正在使用Ubuntu 12.04 x32。 先谢谢你。