htaccess 将所有页面重定向到单个页面

Posted

技术标签:

【中文标题】htaccess 将所有页面重定向到单个页面【英文标题】:htaccess redirect all pages to single page 【发布时间】:2011-04-01 04:15:05 【问题描述】:

我想使用 htaccess 文件将我所有的旧域请求重定向到我的新域。以下是我正在使用的内容,但如果该页面不在新站点上,则它不起作用。例如,旧站点上的 google index about.htm 但在新站点上不存在。我希望它在所有情况下都能找到根。我知道这对于 seo 来说并不理想,但我不想要任何 404。有什么建议吗?

Redirect 301 / http://www.thenewdomain.com/

【问题讨论】:

.htaccess 301 redirect all pages on old domain to a single page on new domain 的可能重复项 【参考方案1】:

您是否要让 old.com/about.htm 的访问者转到 new.com/about.htm?如果是这样,您可以使用 .htaccess 中的 mod_rewrite 规则来执行此操作:

RewriteEngine on

RewriteRule ^(.*)$ http://www.thenewdomain.com/$1 [R=permanent,L]

【讨论】:

不,我只是想让 old.com/about.htm 转到 old.com,然后如果可能的话,删除 /about.htm,让它只转到 old.com【参考方案2】:

这会将旧主机的所有内容定向到新主机的根目录:

RewriteEngine on
RewriteCond %http_host ^www.old.com [NC,OR]
RewriteCond %http_host ^old.com [NC]
RewriteRule ^(.*)$ http://www.thenewdomain.org/ [R=301,NC,L]

【讨论】:

仅供参考:最后一行的 [NC] 标志是无用的。 怎么样,重定向所有,除了来自/admin 的那些?所以可以访问管理面板? @FranciscoCorralesMorales - 为此,您可以添加以下行: RewriteCond %REQUEST_URI !/admin/$ 到 RewriteCond 之前的 RewriteRule 行。【参考方案3】:

如果您的目标是将所有页面重定向到一个维护页面(正如标题可能暗示的那样),请使用:

RewriteEngine on
RewriteCond %REQUEST_URI !/maintenance.php$ 
RewriteCond %REMOTE_HOST !^000\.000\.000\.000
RewriteRule $ /maintenance.php [R=302,L] 

其中 000 000 000 000 应替换为 your ip adress。

来源:

http://www.techiecorner.com/97/redirect-to-maintenance-page-during-upgrade-using-htaccess/

【讨论】:

怎么样,重定向所有,除了来自/admin的那些?所以可以访问管理面板? 此方法会阻止维护页面上使用的任何资源。尝试在第二行之后添加:RewriteCond %REQUEST_URI !\.(jpe?g?|png|gif|js|css|woff|ttf|ico) [NC] 谢谢迈克尔。我也会将svg添加到它以使其成为完美的复制+粘贴答案:D【参考方案4】:
RewriteEngine on
RewriteCond %HTTP_HOST ^(www\.)?olddomain\.com$ [NC]
RewriteRule ^(.*)$ "http://www.thenewdomain.com/" [R=301,L]

【讨论】:

【参考方案5】:

为当前不在您网站上的页面添加此项...

错误文档 404 http://example.com/

连同应涵盖所有基础的重定向 301 / http://www.thenewdomain.com/...

祝你好运!

【讨论】:

【参考方案6】:

HTAccess 将网站的所有页面发送到一个页面。这对我有用:

RedirectMatch 301 ^/.*$ /page-name.php

或到不同的域...

RedirectMatch 301 ^/.*$ https://www.example-domain.com/page-name.php

【讨论】:

以上是关于htaccess 将所有页面重定向到单个页面的主要内容,如果未能解决你的问题,请参考以下文章

htaccess 将旧域重定向到新域

我如何 .htaccess 301 将所有页面/文件(除了一个)重定向到新域?

HTACCESS-将所有页面重定向到一个页面

.htaccess 重定向所有页面,除了少数页面重定向到特定页面

使用 .htaccess 将所有子域和子目录重定向到索引页面

使用 htaccess 将所有流量从根重定向到特定的子域页面