2012-05-21 1 views
0

Я запускаю сайт и хочу настроить файл htaccess для 301 перенаправления старых ссылок со старого сайта на новый сайт. Я хочу, чтобы это было как можно более полезно, поэтому я хочу перенаправить конкретные ссылки со старого сайта на страницы с похожим контентом на новом сайте.Настройка файла htaccess

Что я хочу сделать, так это то, что если кто-то отправится на сайт www.oldsite/oldlink.html, они будут перенаправлены на сайт www.newsite.com/newlink.html, но если они перейдут на любую другую страницу, они будут перенаправлен на www.newsite.com/.

Я знаю, что я могу сделать первую часть (перенаправление одной страницы на другую одну страницу) с кодом, как это в моем файле .htaccess:

Redirect 301 /oldlink.html 
http://www.newsite.com/newlink.html/ 

Мой вопрос вращается вокруг желая создать «поймать-все "перенаправлять за любые ссылки, которые я специально не называю здесь, потому что я не знаю, что они существуют, и т.д. Я знаю, что могу это сделать:

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

Но будет что перезапись на oldlink.html перенаправлять я создал выше?

ответ

2

Вы могли бы использовать это:

RewriteEngine on 
RewriteRule oldlink.html http://www.newsite.com/newlink.html [NC,R=301,L] 
RewriteRule (.*) http://www.newdomain.com/ [NC,R=301,L] 

(NC = нет/без учета регистра; L = Последний Rule)

Если первые RewriteRule матчей, не будет использоваться второй. Вы можете добавить столько правил, сколько хотите. Вы также можете перенаправить http://www.oldsite.com/somelink.html на http://newsite.com/somelink.html (изменение только «oldsite» на «NewSite», а не в ссылке) с помощью

RewriteRule ^(.*)\.html$ http://www.newsite.com/$1.html [R=301,NC,L] 
+1

Это именно ответ, который я дал бы. Но просто чтобы добавить к нему, убедитесь, что вы знаете, что правила интерпретируются/применяются в том порядке, в котором они отображаются в файле. Поместите уловку на самом конце и убедитесь, что «L» все, что должно быть окончательным * ответом, когда дело доходит до перезаписи, иначе оно может просто продолжать придерживаться правил для большего количества матчей. –

+0

Спасибо за помощь! – Ash