Articles of 301redirect

Nginx服务器匹配太多的URL

我有一个域example.com和some-example.com的“替代”。 我试图使用nginx中的简单服务器声明来将some-example.comstream量some-example.com到example.com ,如下所示: server { listen 80; server_name some-example.com; rewrite ^/(.*) http://example.com/$1 permanent; } 我不是100%确定这是否是正确的规则,但我已经在服务器上有另一个虚拟主机,这不是问题所在,但有必要了解我遇到的问题。 server { listen 8745; server_name localhost; <other stuff goes here> } 打到<my server IP>:8745将去那个虚拟主机,按预期工作。 不过我有另外一个这样的虚拟主机: server { listen 8746; server_name localhost; <other stuff goes here> } 但是,我所有的要求<my server IP>:8746命中example.com 。 我很困惑,我没有真正感到nginx,所以任何帮助,将不胜感激为什么发生这种情况。 我在一开始就提到了这个规则,因为我认为这跟这个有关。 如果需要更多信息,我可以提供。

Apache 301redirect

我已经inheritance了一个服务器上有几个域名。 这个网站在过去的两年里被重新devise,我正在努力强迫员工请求redirect工作(如果可以的话)。 所以现在在服务器上,我有一个redirect,每301,并将其转储到网站的首页。 RedirectMatch /(.) http://www.example.com 对于来自包含旧喜欢结构的各种网站的大部分旧url来说,这一切都运行良好。 然而,现在一名工作人员想要一个被广泛使用的URL,将其redirect到适当的位置。 redirect/new/research/Exp_Rese_Disc/Asia/example.shtml http://example.com/asia/ 这可能没有杀死所有包含301redirect? 有一个一般的RedirectMatch /(。)redirect以及一个单一的redirect? 到现在为止,似乎没有让我。 任何想法,想法或例子都非常感激。

新的域名,同时保留虚拟主机

我有3年的客户/客户级别的权利。 旧的域名+ Windowsnetworking托pipe(IISnetworking服务器)为http://www.22shrutiharmonium.com ,它有HTML和ASP页面。 现在,我需要将域名更改为www.22shruti.com(这是从另一个提供商处购买的),但是我想将这些文件保存在当前的主机上( http://www.22shrutiharmonium.com )。 所以,只有域名被更改,而不是托pipe服务。 请一步一步指导我 – 1>进行域转换。 2>保留(或,最小化减less)我的网站的search引擎的凭据。 提前致谢。

安全301redirect使用htaccess的两个域名

我有两个域名,一个新域名(newdomain.com)和旧域名(olddomain.com)。 我想安全地将旧域redirect到新域。 很简单。 目前我正在使用htaccess ModReWrite这样做 # Redirect WWW's RewriteEngine On RewriteCond %{HTTP_HOST} !^newdomain\.com$ [NC] RewriteRule ^(.*)$ http://newdomain.com/$1 [R=301,L] 基本上说,重写任何不是新的领域,新的领域。 我不是100%确定这是否对search引擎安全? 我应该单独redirect旧域吗?

将example.com/*redirect到www.example.com/*

我刚搬到一个新的主机,他们有一个不同于我以前使用的控制面板。 在我的旧主机上,所有的domain.com/*地址被301redirect到www。 example.com/*,没有我必须configuration任何东西,我想重现我的当前主机。 在做了一些search之后,我发现了下面的.htaccess代码,我把它放在我的网站的根.htaccess文件中: RewriteEngine on RewriteCond %{HTTP_HOST} !^www.example.com$ [NC] RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 而这个工作, 除了当我访问example.com/forum时,将所有example.com/*页面redirect到www.example.com/*。 如果我通过访问www.example.com/forum访问我的论坛,由于某种原因,它被redirect到example.com/forum(没有www)。 它没有这样做过。 所以我做了上面的代码的修改版本在我的论坛的.htaccess文件(它位于/论坛)的顶部,唯一的区别是在最后一行添加“/论坛”: RewriteEngine on RewriteCond %{HTTP_HOST} !^www.example.com$ [NC] RewriteRule ^(.*)$ http://www.example.com/forum/$1 [L,R=301] 这是有效的,但我只是想知道如果我正在做这个“正确的方式”,还是有另一种优越的方式呢?

301redirect或禁止在robots.txt?

我最近要求在ServerFault上redirect301 ,我没有得到一个妥善解决我的问题,但现在我有一个新的想法: 使用robots.txt禁止从我的网站某些URL被“抓取”。 我的问题很简单:在从一个专有技术从自定义CMS迁移到WordPress之后,我们有很多Google在新网站上找不到的URL ,并且转到404页面。 这对我们的PageRank和search是不利的,因为Google仍然认为这些页面是活的。 我们有一个不起作用的URL列表,我试图redirect到好的。 问题是, 他们有两万人 ,没有机会用正则expression式来解决问题。 我们必须做一个一个的301redirect,这是一个任务的地狱。 但是我想知道: 我们能不能将robots.txt中的所有不良url列在“Disallow:”前缀中 ,这样Google就不会为它们编制索引了? 这是一个坏主意吗?

如何301redirectGoDaddy共享Windows托pipe计划上的单个文件或目录?

我在GoDaddy上看到了一些关于redirect域的文章,但没有涉及单个文件。 在我的情况下,我使用Windows共享主机,所以我不能使用任何IISpipe理工具。 我所希望的是,我可以做一些等同于Apache的.htaccess文件来configuration单个文件的redirect。 或者,是否有一个HTML文档可以返回,执行与HTTP 301redirect相同的function? 我应该指出,我使用的是从磁盘提供的纯HTML,所以我不能返回一个自定义的HTTP响应代码,因为我可以说PHP,ASP.NET,ASP等。 GoDaddy的文档不包括这种情况。 编辑 所以user78940的答案显示了一个可行的技术(GoDaddy支持Web.config <rewrite> ),但是尽pipe阅读了这个configuration元素的几个不同的教程,我仍然无法使其工作。 首先,我正在使用虚拟主机,这意味着我有这个物理文件夹结构: root < — used for primarysite.com – drewnoakes.com < — nested virtual hosting – someothersite.com < — nested virtual hosting 这里有三个网站。 根目录为primarysite.com ,子目录为相应命名的网站。 这只是你不得不如何与GoDaddy做到这一点。 你总是有一个主要的然后在那里筑巢的地方。 不幸的是,如果您不在URL上放置斜线(以访问该文件夹的默认文档),GoDaddy安装程序会提供redirect,这意味着: http://drewnoakes.com/code/exif (无尾随斜线) …被redirect到… http://drewnoakes.com/drewnoakes.com/code/exif/ (带有斜线) 这意味着Google的索引中都有这两个url。 我想整理这种情况,使前者redirect正确,后者redirect到规范forms,这样我就不会遭受页面排名稀释,我的URL也不那么容易记住的尴尬 。 我试过这个configuration,但是它以一个无限的301redirect循环结束: <rewrite> <rewriteMaps> <rewriteMap name="StaticRedirects"> <add key="/drewnoakes.com/code/exif/" value="/code/exif/" /> […]

在lighttpd中强制www子域并保留path

我想设置我的lighttpd供电网站redirect用户到www子域浏览网站时没有子域名。 我也希望它能保存结尾的URL,并把redirect作为一个永久的301redirect。 我需要将什么样的规则放到我的lighttpd.conf文件中? example.com -> www.example.com example.com/pagename -> www.example.com/pagename

htaccess将所有URL(包括图像hrefs)从一个域重写到另一个域

我刚刚从.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似乎并没有被重写。 任何帮助将非常感激!

Apache:redirect所有命中子目录(301)?

可能是一个简单的问题,但我似乎无法解决:我最近从头开始创build一个新的网站,以取代旧的网站。 旧网站有一个很好的SEO排名,这显然是我想保持的。 由于新网站也有一个新的结构,有一些来自旧网站/结构的目录,我已经完全放弃了。 然而,有相当多的指向这些目录的外部链接,或者更具体地说是旧目录中的文件。 所以我的问题归结为:如何redirect所有/任何命中某些子目录中的文件? 例如: www.mydomain.com/oldsubdirectory/somefile1.file – > mydomain.com/newdirectory www.mydomain.com/oldsubdirectory/somefile2.anothertypeoffile – > mydomain.com/newdirectory www.mydomain.com/oldsubdirectory/somefile3.fileofsometype – – > mydomain.com/newdirectory