Тема: редирект 301, как сделать на это cms?

Почему то не могу сделать нормальную переадресацию  в  файле htaccess с одной страницы на другую. В урл новой страницы автоматически добавляются не нужны симоволы со знаком "?" Подскажите пожалуйста как это исправить?

Ответ: редирект 301, как сделать на это cms?

tyson написал:

Почему то не могу сделать нормальную переадресацию  в  файле htaccess

Всё от рук зависит!

tyson написал:

В урл новой страницы автоматически добавляются не нужны симоволы со знаком "?"

Не должно быть такого. Ибо "выхлоп" идёт следующий: /o-kompanii.html or /o-kompanii

Добавлено через 3 минуты

tyson написал:

Почему то не могу сделать нормальную переадресацию  в  файле htaccess

Всё от рук зависит!

tyson написал:

В урл новой страницы автоматически добавляются не нужны симоволы со знаком "?"

Не должно быть такого. Ибо "выхлоп" идёт следующий: /o-kompanii.html or /o-kompanii

Добавлено через 3 минуты

tyson написал:

Почему то не могу сделать нормальную переадресацию  в  файле htaccess

Всё от рук зависит!

tyson написал:

В урл новой страницы автоматически добавляются не нужны симоволы со знаком "?"

Не должно быть такого. Ибо "выхлоп" идёт следующий: /o-kompanii.html or /o-kompanii

Добавлено через 54 секунды

RewriteCond %{REQUEST_URI} ^(.*)/$
RewriteRule ^(.*)/$  /$1 [R=301,L]

Убираем закрывающий слэш (/) в конце каждой ссылки. Т.е., последний / отсекается.

#RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
#RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Переводим сайт из "не без www" на "www"

Ответ: редирект 301, как сделать на это cms?

Распишу подробней.

Прописываю в htaccess

Redirect 301 /раздел/старая_страница.html http://сайт.ru/раздел/новая_страница.html

После этого ввожу в браузере http://сайт.ru/раздел/старая_страница.html

и меня автоматически переадресовывает на http://сайт.ru/раздел/новая_страница.html?catpage=раздел&whatpage=старая_страница

И такая картина у меня на всех сайтах с этой cms. Так как мне сделать переадресацию с новой на старую страницу?

Ответ: редирект 301, как сделать на это cms?

RewriteRule ^/раздел/старая_страница.html$  /раздел/новая_страница.html [R=301,L]
Желательно где то после RewriteEngine on и основных правил по части домена.

А вообще в таких случаях лучше весь htaccess показывать

Ответ: редирект 301, как сделать на это cms?

htaccess стандартный для этой cms

AddDefaultCharset windows-1251
<Files ".htaccess">
deny from all
</Files>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
ErrorDocument 404 /404.html 



Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.сайт\.ru$ [NC]
RewriteRule ^(.*)$ http://сайт.ru/$1 [R=301,L]


########################################
RewriteRule ^index.html$ /$1 [L,R=301]
#Админка
RewriteRule ^admin/$ admin/index.php
RewriteRule ^admin.html$ admin/index.php
RewriteRule ^admin$ admin/index.php

#для каптчи
RewriteRule ^captcha.php$ mycode/captcha.php
#Фото
RewriteRule ^photo-cat-([-a-zA-Z0-9_]*)?-([0-9]*)?.html$ index.php?whatpage=photo&cat=$1&page=$2
RewriteRule ^photo-cat-([-a-zA-Z0-9_]*).html? index.php?whatpage=photo&cat=$1
RewriteRule ^photo-([0-9]*).html? index.php?whatpage=photo&page=$1
#Новости
RewriteRule ^news/index.php$ /news/ [QSA,R]
RewriteRule ^news/$ index.php?whatpage=news
RewriteRule ^news.html$ /news/ [QSA,R]
RewriteRule ^news/page([0-9]*)?.html$ index.php?whatpage=news&newspage=$1
RewriteRule ^news/([-a-zA-Z0-9_]*)/?index.php$ /news/$1/ [QSA,R]
RewriteRule ^news/([-a-zA-Z0-9_]*)/?page([0-9]*)?.html$ index.php?whatpage=news&catnews=$1&newspage=$2
RewriteRule ^news/([-a-zA-Z0-9_]*)?.html$ index.php?whatpage=news&view=$1
RewriteRule ^news/([-a-zA-Z0-9_]*)/?$ index.php?whatpage=news&catnews=$1
RewriteRule ^news/([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)?.html$ index.php?whatpage=news&catnews=$1&view=$2
#гостевая
RewriteRule ^guestbook-start-([0-9]*).html?$ index.php?whatpage=guestbook&start=$1
RewriteRule ^guestbook-post-([0-9]*).html?$ index.php?whatpage=guestbook&id=$1
#Страницы
RewriteRule ^([-a-zA-Z0-9_]*)?.html$ index.php?whatpage=$1
RewriteRule ^([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)/?spage-([0-9]*)?.html$ index.php?catpage=$1&subcatpage=$2&spage=$3
RewriteRule ^([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)?.html$ index.php?catpage=$1&whatpage=$2
RewriteRule ^([-a-zA-Z0-9_]*)/?$ index.php?catpage=$1
RewriteRule ^([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)?.html$ index.php?catpage=$1&subcatpage=$2&whatpage=$3
RewriteRule ^([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)/?$ index.php?catpage=$1&subcatpage=$2

Отредактировал tyson (04-03-2016 19:29:40)

Ответ: редирект 301, как сделать на это cms?

1) Убрать повторение:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.сайт\.ru$ [NC]
RewriteRule ^(.*)$ http://сайт.ru/$1 [R=301,L]

1-е две строки есть выше!

2) После этого кода добавить редирект как в посте #4

Ответ: редирект 301, как сделать на это cms?

спасибо ,помогло

Отредактировал tyson (10-03-2016 13:05:43)

8

Ответ: редирект 301, как сделать на это cms?

Опять у меня та же проблема, господа программисты, подскажите, пожалуйста. Нужен перенаправить пару страниц, например старый адрес сайт.ru/nash-klub.html на новый адрес сайт.ru/nash-klub/
Пробую прописать как выше RewriteRule ^/nash-klub.html$  /nash-klub/ [R=301,L] но что-то не работает. Как сделать такое перенаправление?

Файл .htaccess

AddDefaultCharset utf-8
<Files ".htaccess">
deny from all
</Files>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /
ErrorDocument 404 /404.html
RewriteRule ^/nash-klub.html$  /nash-klub/ [R=301,L]
#
RewriteRule ^index.html$ /$1 [L,R=301]
# admin
RewriteRule ^admin/$ admin/index.php
RewriteRule ^admin.html$ admin/index.php
RewriteRule ^admin$ admin/index.php
# captcha
RewriteRule ^captcha.php$ mycode/captcha.php
# photo
RewriteRule ^photo-cat-([-a-zA-Z0-9_]*)?-([0-9]*)?.html$ index.php?whatpage=photo&cat=$1&page=$2
RewriteRule ^photo-cat-([-a-zA-Z0-9_]*).html? index.php?whatpage=photo&cat=$1
RewriteRule ^photo-([0-9]*).html? index.php?whatpage=photo&page=$1
# news
RewriteRule ^news/index.php$ /news/ [QSA,R]
RewriteRule ^news/$ index.php?whatpage=news
RewriteRule ^news.html$ /news/ [QSA,R]
RewriteRule ^news/page([0-9]*)?.html$ index.php?whatpage=news&newspage=$1
RewriteRule ^news/([-a-zA-Z0-9_]*)/?index.php$ /news/$1/ [QSA,R]
RewriteRule ^news/([-a-zA-Z0-9_]*)/?page([0-9]*)?.html$ index.php?whatpage=news&catnews=$1&newspage=$2
RewriteRule ^news/([-a-zA-Z0-9_]*)?.html$ index.php?whatpage=news&view=$1
RewriteRule ^news/([-a-zA-Z0-9_]*)/?$ index.php?whatpage=news&catnews=$1
RewriteRule ^news/([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)?.html$ index.php?whatpage=news&catnews=$1&view=$2
# guestbook
RewriteRule ^guestbook-start-([0-9]*).html?$ index.php?whatpage=guestbook&start=$1
RewriteRule ^guestbook-post-([0-9]*).html?$ index.php?whatpage=guestbook&id=$1
# pages
RewriteRule ^([-a-zA-Z0-9_]*)?.html$ index.php?whatpage=$1
RewriteRule ^([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)/?spage-([0-9]*)?.html$ index.php?catpage=$1&subcatpage=$2&spage=$3
RewriteRule ^([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)?.html$ index.php?catpage=$1&whatpage=$2
RewriteRule ^([-a-zA-Z0-9_]*)/?$ index.php?catpage=$1
RewriteRule ^([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)?.html$ index.php?catpage=$1&subcatpage=$2&whatpage=$3
RewriteRule ^([-a-zA-Z0-9_]*)/?([-a-zA-Z0-9_]*)/?$ index.php?catpage=$1&subcatpage=$2

<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access 7 days"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType text/javascript "access plus 1 year"
ExpiresByType text/css "access plus 1 year"
ExpiresByType text/html "access plus 7 day"
ExpiresByType text/x-javascript "access 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/x-icon "access 1 year"
ExpiresByType application/x-shockwave-flash "access 1 year"
</IfModule>
<ifModule mod_headers.c>
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=172800, public, must-revalidate"
</filesMatch>
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=172800, private, must-revalidate"
</filesMatch>
</ifModule>
<IfModule mod_setenvif.c>
BrowserMatch "MSIE" force-no-vary
BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
</IfModule>

9

Ответ: редирект 301, как сделать на это cms?

Добавить в конец файла

Redirect 301 /nash-klub.html /nash-klub/

Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник"