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 301 将所有页面/文件(除了一个)重定向到新域?
.htaccess 重定向所有页面,除了少数页面重定向到特定页面