Articles of 301 redirect

redirect从www到nginx反向代理中没有www

我正在用nginx反向代理和gunicorn应用程序服务器开发一个Django应用程序。 作为一个新手的Web开发人员,我需要帮助redirect到no www服务器级别的wwwstream量。 我目前在应用程序中的中间件级别做同样的事情,但需要提高性能。 目前我的nginx虚拟主机文件的布局如下: proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=100m inactive=6m; upstream my_server { server unix:/home/myuser/myproject/myfolder/myproject.sock fail_timeout=0; } server { listen 80; server_name example.com www.example.com; # a bunch of 'location' blocks eg 'location /' or 'location @http_proxy_to_app', etc. } server { listen 443 ssl; server_name example.com www.example.com; # SSL related stuff # a bunch of […]

什么导致这个301redirect循环?

我在我的Ubuntu / etc / apache2 / sites-available文件中有几个Redirect指令: Redirect 301 /rss.xml http://example.com/feed/index.xml Redirect 301 /atom.xml http://example.com/feed/atom/index.xml Redirect 301 /feed/ http://example.com/feed/index.xml Redirect 301 /feed http://example.com/feed/index.xml 据我所知,他们都正常工作。 但是,当我使用web-sniffer.net访问http://example.com/feed/index.xml时,它会返回一个指向http://example.com/feed/index.xmlindex.xml的301,然后获取redirect到http://example.com/feed/index.xmlindex.xmlindex.xml等等。 看来,其中一个模式是匹配时,我不期望它。 如果我省略了最后两个redirect,则循环停止,但是当我应该时,我不会redirect/馈送和/馈送/。 任何想法如何使这个工作正确? (我认为这个问题与这个问题有关: 无限redirect循环? )

几百个redirect,最有效的configuration方式是什么?

我知道,在.htaccess文件中有太多的redirect可能会导致apache的性能损失,这导致我的问题是有没有更快的方法来configuration在Apache的redirect,特别是如果我有几百? 我也不得不在这个例子中使用一个cPanel服务器。

使用301redirect在IIS中强制httpsstream量的任何问题?

使用301redirect来强制所有stream量转到只有安全的网站有问题吗? 我们原来有redirect规则,但是只强制执行SSL似乎更安全。 以下是我们如何设置它: Site 1: https://example.com/ Require SSL set Bound to 443 only Site 2: http://example.com Bound to 80 only Empty folder – no actual html or other data 301 Redirects to https://example.com 这似乎工作得很好,但是这样做有什么问题吗? 任何浏览器都不能识别301redirect,或者在redirect过程中会有安全警告吗?

IIS 7.5 SSLredirect

我有一个标准网站托pipe在我完全控制的服务器上 – www.domain.com。 我最近为这个域名购买了一个SSL证书,准备接受信用卡,并且希望将所有请求redirect到https://www.domain.com 。 在大多数情况下,我创build的规则(见下文)工作正常 – 如果我inputhttp://www.domain.com它将redirect到https://www.domain.com 。 我遇到的问题是,如果我去一个内部链接,如http://www.domain.com/folder/page.aspx ,我得到一个404,因为唯一的绑定绑定到HTTPS。 我怎样才能做一个redirect规则,说任何请求www.domain.com发送到HTTPS,但保留原来的文件夹/页面结构的要求? 所以,去http://www.domain.com/folder/page.aspx发送到https://www.domain.com/folder/page.aspx 。 我宁愿如果查询string值也保持不变。 这是我目前的重写规则: <rewrite> <rules> <rule name="Redirect to HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="^OFF$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" /> </rule> </rules> </rewrite>

将redirect与.htaccess分离

我将我的服务器迁移到其他位置。 我有一堆更改的URL(50左右),我需要301redirect到新的位置。 我使用Apache 2.4 有没有办法将它们从.htaccess分离到不同的文件(S)只是为了组织?

如果你有大量的redirect来实现,是否有一种方式来编写更清晰的重写规则

我recentley完成了一个项目,我把一个漂亮的大网站移动到一个漂亮干净的小型网站。 这意味着我必须对大量被search引擎编入索引的页面进行说明,并使用301 Redirects将它们适当地redirect到新网站上的相关页面。 有超过300个唯一的url,我必须redirect。 我使用apache mod_rewrite模块来实现redirect,因为大部分的URL都包含你的标准Redirect语句不能读取的GET parameters 。 所以例如我有这样的url: HTTPS://olddomain/product.html PROD_ID = 143&ID = 234 和一个像这样的redirect: RewriteCond %{QUERY_STRING} prod_id=143&id=234$ RewriteRule ^product\.html$ /products/product-a? [L,R=301] 几乎所有的情况都是如此。 我想我的问题是,我正确地写下了300个像上面的个人redirect,还是有一个“更干净”的方式来做到这一点? 我听说有许多rewrite rules可以减慢服务器速度。 我会很感激你对这个家伙的意见,如果这不是正确的地方问道歉,我会删除并张贴在相关的交stream。

Nginxredirect从http www到https非www

我正在尝试将http://www.example.comredirect到Nginx。 只有非www版本安装了证书。 我有两个301redirect规则: 1)从http://example.com到 server { listen 80; listen 443 ssl; server_name example.com; if ($scheme = http) { return 301 https://$server_name$request_uri; } } 2)从http://WWW.example.com到http://example.com server { listen 80; server_name www.example.com; return 301 $scheme://example.com$request_uri; } 当我从terminal通过curl请求www.example.com时,我看到: HTTP/1.1 301 Moved Permanently Location: http://example.com/ 这是我期望发生的事情。 但是,当我从浏览器执行相同的操作时,它会将我redirect到并引发证书错误。 我通过将证书添加到www版本来修复它,但是我想知道为什么没有它,它不能正常工作? 为什么curl给了我不同的结果? 以防万一我使用的SSL参数: ssl_session_cache shared:SSL:50m; ssl_session_timeout 5m; ssl_dhparam /etc/nginx/pki/dhparam.pem; ssl_protocols TLSv1 TLSv1.1 […]

结合Apache ServerAlias和301redirect

我已经引用了这个问题,但我不知道如果我清楚这种情况下如何工作: 我有一个客户与两个品牌,目前在线这样的: Brand A (site 1) Brand B (site 2) — — site 1 pages site 2 pages 现在,他们已经build立了一个新的网站,结合两个网站的内容,并将他们的两个品牌整合为一个: Brand Unified (site 3) — site 3 pages 很明显,我更新每个域的Alogging后,我想为每个原始站点放置301个redirect。 不过,新网站是一个自定义的WordPress主题,WP只允许每个安装一个域。 这使我有一种情况,我可以将品牌A的原始顶级域名(TLD)指定为WordPress的站点URL,然后将品牌B域redirect到A. 我以为我会在Apache站点conf中使用这样的服务器块: <VirtualHost *:80> ServerName site1.com #site1.com now points directly here ServerAlias site2.com #site2.com points directly but redirects ServerAdmin [email protected] DocumentRoot /var/www/newsite 所以,假设这个configuration没有问题,如果我尝试为site1和site2链接实现301redirect会发生什么? 具体来说,由于site2.com现在被列为site1.com的别名,我仍然可以在/var/www/newsite/目录中的.htaccess文件中有效地redirect301个文件,或者ServerAlias是否会干扰该文件? 我想知道如果它被别名回到site1.com,因此301规则不会触发?

如何使301永久redirect从旧域到新域与.htaccess?

我已经find了一些不同的解决scheme,应该写在.htaccess文件中,但由于某些原因,它们不能很好地工作。 我想redirect从旧网站的所有内容到新网站 – www.oldsite.com/first/articleredirect到www.newsite.com/first/article 等等。 我听说,这是永久redirect的方式,当将网站从一个域名转移到另一个域名时,search引擎不会对内容进行双倍化处理。 所以,如果任何人都可以提供工作代码,那就太好了。 解释为什么这将起作用,其中的意思是在真棒类别。 thanx一堆。 PS,我已经mod_rewrite已启用。