3

我需要一个 htaccess 301 重定向的帮助。

我有一个网站 www.site.com 但我需要将所有页面更改为 www.newsite.com 但我不想移动 www.site.com(获取页面信息)

例子:

www.site.com (not move) index of to put then a template or message

www.site.com/2012/08/page.html move to www.newsite.com/2012/08/page.html
www.site.com/tag/keyword/ move to www.newsite.com/tag/keyword/
www.site.com/category/general/ move to www.newite.com/category/general/

我怎么能这样做?谢谢

4

2 回答 2

4

您可以尝试使用 mod_alias'RedirectMatch来强制 URI 中的某些内容进行重定向。在 site.com 的文档根目录的 htaccess 文件中,添加:

RedirectMatch 301 ^/(.+)$ http://www.newsite.com/$1

这将使它之后的任何内容都http://www.site.com/将被重定向,但http://www.site.com/不会。但是,http://www.site.com/index.html 被重定向。如果这是一个问题,您可以使用 mod_rewrite:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/$
RewriteCond %{REQUEST_URI} !^/index.html$
# and whatever else you don't want redirected
RewriteRule ^(.*)$ http://www.newsite.com/$1 [L,R=301]
于 2012-08-17T02:35:09.847 回答
2

www.site.com主机上启用 mod_rewrite 和 .htaccess httpd.conf,然后将此代码放在您.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?site\.com$ [NC]
RewriteRule ^.+$ http://www.newsite.com%{REQUEST_URI} [L,R=301]
于 2012-08-17T02:34:38.273 回答