Articles of redirect

NginXredirect

对于NginX的新手redirect,而不是我的正则expression式的忍者,有人可以请提供一些点,以便如何做一个理智的方式下面的301redirect。 (为可怕的例子名称道歉) website.com/what -> website.com/en/what website.com/team -> website.com/en/team website.com/stuff -> website.com/en/newstuff website.com/stuff/this -> website.com/en/newstuff/foo/bar website.com/stuff/that -> website.com/en/newstuff/thing/page 虽然我很想有人给我确切的答案 – 我会解决一些好的指针或大致的例子,我需要做的或我应该采取的方向。 如果有帮助,我在Ubuntu 11上运行nginx 0.8x,网站本身是用CodeIgniter编写的,

我如何让我的htaccess文件读取一个PHP文件?

我已经创build了一个PHP文件,应该检测手机或平板电脑。 我从networkingsearch中搜集下面的代码,因为我不知道任何编码,虽然几年前COBOL是我的养家人! 我的PHP文件中的代码是; <?PHP $browser = cge_utils::get_browser(); if( $browser->isMobile() ) { redirect('http://what-do-christians-believe.co.uk/mob_phones'); } if($browser->isTablet()){ { redirect('http://what-do-christians-believe.co.uk/mob_devices'); } ?> 我不知道这是否可行,但所有的事情都是可能的 – 最终! 我一直在search整天没有运气,以找出如何获得这个文件的htaccess文件读取 有人可以告诉我如何编写正确的代码,或者说这个PHP脚本是否可行? 我目前在我的主页中使用Java脚本,但是有人说这会降低手机的上传速度。

有一个色情网站指向我的网站

比方说,example.com是我的真实网站,fooexample.com是色情网站。 fooexample.com指向我的IP。 现在你可以想,只是不介意它是正确的。 那么事情是他们正在驾驶交通负荷。 不仅如此,我的主域example.com在几分钟后变得不可用,唯一工作的域是fooexample.com,或者两者都不是。 我到目前为止所做的是使用mod_rewriteredirect色情网站谷歌,但我的域名仍然变得不可用。 封锁ips也没有结果。 我希望有人能够帮助我,因为这是一个很大的问题。 谢谢。

使用端口80的Web服务器添加奇怪的查询string

当我的Web服务器使用端口80时,一个奇怪的查询string被追加到我的访问者去的任何页面,并打破了我的一些服务。 我改变nginx使用端口81,它工作正常,没有附加的查询string。 查询string如下所示: http : //www.site.com/some/url/script.php?COLLCC=2749699728& 在我的代码中没有什么会导致这种情况发生,特别是因为它只发生在端口80上,而不pipe我使用的是什么Web服务器(Apache,Nginx等)。 有没有人有任何想法可能导致这个? 当我做print_r($_SERVER) ,我得到这个: [argv] => Array ( [0] => COLLCC=2693200777& ) [argc] => 1 我正在使用Nginx + PHP-CGI的CentOS 6 64位

Apache服务器相对redirect

是否有可能使用现有的Apachefunction实现服务器相对redirect? mod_alias确实有一个redirect命令,但是总是会产生一个绝对的redirect,即使像这样configuration Redirect /asdf /qwer 也尝试使用这样的mod_rewrite : RewriteEngine On RewriteRule /asdf(.*) /qwer$1 [R,L] 这些设置的最终结果是相同的: HTTP/1.0 302 Found Location: http://my-host.blah.blah:20085/qwer 但是我真正需要的是: HTTP/1.0 302 Found Location: /qwer —编辑— 是的,我知道这是违反RFC规范。 但所有现代浏览器都支持相对redirect,我真的需要临时修复。

VirtualHost忽略ServerName和ServerAlias

我试图redirect所有stream量从.se到.com,但由于某种原因,VirtualHost忽略了我定义的ServerName和ServerAlias。 <VirtualHost *:80> ServerName www.example.se ServerAlias example.se Redirect 301 / https://www.example.com/ </VirtualHost> 在上面的例子中,即使tld不是.se,所有的stream量都会经过VirtualHostredirect 我错过了什么吗?

在特定OU中的所有人的桌面上放置一个快捷方式?

在工作中,我们将所有的用户桌面redirect到服务器。 在一个OU的所有用户中,我需要在他们的桌面上放置相同的快捷方式。 有没有更简单的方法来做到这一点,而不仅仅是复制到每个configuration文件,或写一个脚本将其复制到每个configuration文件? 或者,当一个特定的文件或快捷方式应该在他们所有的桌面上这样做的标准方式?

如何获取运行在同一台服务器上的两台服务器的端口redirect?

我有一个亚马逊云运行托pipe两个tomcat实例(端口8080和8081)与每个tomcat运行Web应用程序(富和酒吧)为不同的客户。 但是我有一个问题,试图让端口redirect工作正常。 我希望来到我的网站www.foo.com用户自动redirect到www.foo.com:8080/foo_app以及来自我的网站www.bar.com:8180/bar_app用户将被自动redirect到www.bar.com:8180/bar_app 。 但是,我也希望端口号不是URL的一部分。 这是非常重要的,因为大多数用户处于无法导航到www.foo.com:8080或www.bar.com:8180环境中,并且只能在端口80 www.bar.com:8180通信。 因此,任何在www.bar.com/bar_app人都应该被redirect到www.bar.com:8081/bar_app但URL仍然必须是www.bar.com/bar_app 我试图做到这一点的方法是做到以下几点: 我使用以下命令将端口80上的任何通信映射到端口8080 sudo iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 8080 这对于foo用户来说非常棒,但是酒吧用户也被重新定向。 是否有可能使这个iptable映射只适用于某些“服务器”? 我也添加了入口/etc/apache2/httpd.conf 以允许从我的服务器映射到实际的Web应用程序 <VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://123.123.123.123:8080/foo_app ProxyPassReverse / http://176.34.212.135:8080/foo_app ServerName www.foo.com ServerAlias www.foo.com </VirtualHost> <VirtualHost *:80> ProxyPreserveHost On ProxyPass / http://123.123.123.123:8180/bar_app ProxyPassReverse / http://176.34.212.135:8180/bar_app ServerName www.bar.com […]

https www无法redirect到非https的https nginx

我似乎无法将我的https://wwwredirect到https://当前该网站如何认为www 。 是一个完全独立的网站。 我想正确的redirect,但是当我在我认为正确的地方添加configuration时,我得到了一个无限的redirect。 非https wwwredirect正确。 唯一的问题是https://www 。 这里是我的nginxconfiguration,也许我只是想念一些东西。 我删除了https://wwwredirect,因为我似乎无法正确地进行。 server { listen 192.168.0.123:80; server_name www.site.com site.com; location /rss/main/ { uwsgi_pass unix:///tmp/site.com.sock; include uwsgi_params; } location / { rewrite ^ https://site.com$request_uri permanent; } } server { listen 192.168.0.123:443 ssl; server_name site.com; access_log /var/log/nginx/site.com_access.log; error_log /var/log/nginx/site.com_error.log; ssl_certificate /srv/ssl/site_com.crt; ssl_certificate_key /srv/ssl/site.com.key; location / { uwsgi_pass unix:///tmp/site.com.sock; include […]

如果只请求server_name,如何不redirect

大多数人在浏览器栏中键入: mysite.com而不是https://mysite.com 。 包括我自己在内的许多开发者在他们的Nginxconfiguration文件中都有类似的东西,这意味着这个mysite.com请求会导致redirect到https:// site: server { listen 80; server_name mysite.com; return 301 https://$server_name$request_uri; } 谷歌的网页速度团队最近表示,这些redirect对于移动性能来说尤其如此,因为redirect导致请求通过移动运营商networking返回。 我的问题是有没有其他的方式来编写nginx.conf,以便在server_nameinput的人不会遇到这个http://到https://redirect的惩罚?