我正在尝试编写一些重定向,并且偶然发现了重定向文件夹的最后一步。
我有一个具有以下结构的旧网站
example.com
example.com/example
example.com/example/example
example.com/example/example
(域名examples.com停放并重定向到此站点)
一个新网站(域名未停放),
examples.com
examples.com/examples/new
examples.com/examples/examples/updated
examples.com/examples/examples/sample
使用原始网站上的传统301按照以下方式简单地重定向到root
redirect 301 /example/ http:www.examples.com/examples/new/
它不会指向正确的子文件夹
作为短期,我使用以下内容将所有链接重定向到根目录(在旧服务器上),但将它们全部推送到确切位置是理想的
RedirectMatch 301 ^/example/.*$ http://www.examples.com/
我显然遗漏了一些简单的东西,所以任何建议都值得赞赏。
答案 0 :(得分:0)
试试这个:
RedirectMatch 301 /example(.*) http://examples.com/examples/new/$1
RedirectMatch 301 /example/example(.*) http://examples.com/examples/examples/$1
示例#1:http://oldsite.com/example/XXXX应重定向到http://newsite.com/examples/new/XXXX
示例#2:http://oldsite.com/example/example/UPDATE应重定向到http://newsite.com/examples/examples/UPDATE
好的,如果上面的那些不起作用......那就是..
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} oldsite\.com [NC]
RewriteRule ^example/?$ http://newsite.com/examples/new [R=301,L]
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} oldsite\.com [NC]
RewriteRule ^example/example/([^/]+)/?$ http://newsite.com/examples/examples/$1 [R=301,L]
</IfModule>