2010-07-30 3 views

ответ

5

Вы можете использовать mod_rewrite.

RewriteEngine On 
RewriteRule ^blog/index\.php/weblog/rss_2\.0/$ /feed/ [R=302] 

Это должно пересылать URL-адрес в/feed/в том же домене, что и запрос. После того, как вы счастливы, вы можете сменить 302 на 301.

3
redirect 301 blog/index.php/weblog/rss_2.0/ http://www.domain.com/feed/ 

Это так просто! Просто убедитесь, что файл .htaccess находится в корневом каталоге веб-узла, который обычно равен «http://www.domain.com».

EDIT: Для перенаправления на другие страницы, просто следуйте основным форматом

redirect 301 [path from web root] [full path to the new page] 

Вы можете добавить еще одну строку для каждой страницы, которую вы хотите переадресовать.

+0

спасибо. но я забыл упомянуть, что у него есть 3 домена, указывающие на него и использующие один и тот же htaccess. – steamboy

+0

@steamboy Вы можете добавить еще одну строку для каждой страницы, которую вы хотите перенаправить. Просто следуйте формату, который я добавил в ответ, и вы должны быть настроены. – derekerdmann

1

Вы также можете использовать директив RedirectMatch Mod-alias для перенаправления URL-адреса из местоположения в другое.

Forexample: перенаправлять из http://example.com/file.php в http://example.com/folder/file.php

Вы могли бы использовать следующий код в HTAccess:

RedirectMatch 301 ^/([^.]+)\.php$ http://example.com/folder/$1.php 

Explaination: директива RedirectMatch использует шаблон регулярного выражения для сопоставления пути URL. в примере выше наш шаблон ^/([^.] +). php $ соответствует строкам URL /file.php, ^ означает начало строки. то мы сопоставляем /, ([^.] +) - группа захвата, которая соответствует любым символам, исключая точку, и сохраняет значение в качестве $ 1 для повторного использования в целевом URL-адресе, в приведенном выше примере оно захватывает имя файла. .php соответствует .php litterly. нам нужно вытеснить точку с помощью косой черты, потому что это специальное слово в регулярном выражении. $ означает конец строки/строку.