choodo
@choodo

Что я делаю не так с редиректом?

Перенесли свой сайт с вордпресс на bitrix. Пытаемся перенаправить все внешние ссылки, перенаправить на новые пути, добавляя (/ / -чтобы не съелся протокол )
Redirect 301 /oldpath1/oldpath2/oldpath3/ http:/ /site.ru/newpath1/newpath2/
Но эти правила не работают корректно. Например, в правилах ниже

Redirect 301 /menu/ http:/ /site.ru/company/ ##
Redirect 301 /menu/about http:/ /site.ru/company/
Redirect 301 /menu/about/ http:/ /site.ru/company/

строка "Redirect 301 /menu/about http:/ /site.ru/company/" перенаправит пользователя на http:/ /site.ru/company/about, а не на http:/ /site.ru/company/

Таким же образом отработает и 3-я строка, но только добавится "/" в конце.

Если же я, например, укажу правила так: RewriteRule ^menu/about$ /company/? [L,R=301], переадресации нет вообще и отдается ошибка 404.

Что я делаю не так? Связано ли это как-то с теми правилами, которые описаны в файле .htaccess в самом начале (то есть те, которые там уже есть при установке bitrix)?

Также кроме этих строк в .htaccess содержится то, что "пришло" с самим bitrix (свои правила дописывал в конец файла):

Options -Indexes 
ErrorDocument 404 /404.php

<IfModule mod_php5.c>
  php_flag session.use_trans_sid off
  #php_value display_errors 1
  #php_value mbstring.internal_encoding UTF-8
  php_flag register_globals off 	
</IfModule>

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
  RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
  RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization}]

</IfModule>

<IfModule mod_dir.c>
  DirectoryIndex index.php index.html
</IfModule>

<IfModule mod_expires.c>
  ExpiresActive on
  ExpiresByType image/jpeg "access plus 3 day"
  ExpiresByType image/gif "access plus 3 day"
  ExpiresByType image/png "access plus 3 day"
  ExpiresByType text/css "access plus 3 day"
  ExpiresByType application/javascript "access plus 3 day"  
</IfModule>
  • Вопрос задан
  • 77 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы