Как сделать редирект (301, 302). Общая тема

J
На сайте с 20.02.2014
Offline
120
jkm
#271
AntonVVV:
редирект был только со страниц которые начинаются с index.php?..... ? А страницы по типу site.ru/viewforum.php?f=17 небыли затронуты.

RewriteCond %{THE_REQUEST} " /index\.php\?\S"

RewriteRule ^ /? [R=301,L]
Виталий
На сайте с 06.08.2012
Offline
92
#272

Добрый.

Подскажите как прописать.

Редирект с url на латинице+кириллица+пробел

Пример

/katalog-26&page=Товар-1&tech=KLM 5FC

на страницу классическую /katalog-26//klm.html

Спасибо.

E
На сайте с 05.02.2013
Offline
43
#273

Форумчане, вопрос:

Если идет переход по ссылке: domain.ru?page=123&joke=1

Можно ли сделать редирект, скажем, на domain2.ru?page123&joke=1 при помощи htaccess?

Вроде как htaccess считается самым быстрым редиректом(302), я правильно понимаю? Или лучше реализовать через PHP? Нужна именно скорость.

M
На сайте с 04.12.2013
Offline
223
#274

Можно – путь пустой в маске правила (^$). Параметры автоматом наследуются.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
C
На сайте с 04.02.2005
Offline
277
#275

читаем про [QSA]

M
На сайте с 04.12.2013
Offline
223
#276

Без надобности:

Параметры автоматом наследуются.
TL
На сайте с 22.11.2013
Offline
23
#277

Приветствую!

Подскажите, запутался и не могу разобраться с редиректами.

Есть вот такой htaccess на сайте (движок joomla 3.5).

Options +FollowSymLinks


#перенаправление www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteEngine On

#убираем некоторые дубли
RewriteCond %{QUERY_STRING} ^productsublayout=0
RewriteRule ^.*$ /magazin/? [R=301,L]

#перенаправление c http на https и с index.php на страницу без index.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ https://%{HTTP_HOST}/ [R=301,L]

#убираем слеши в конце
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]

#дальше пошел стандартный джумловский хвостик защиты
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR]
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

редиректы www, https, слеши производятся корректно.

редиректы с site.ru/index.php на site.ru происходят корректно, а вот с site.ru/index.php/туткакая то категоря/ редирект не происходит.

Подскажите в чем проблема?

S1
На сайте с 05.02.2012
Offline
88
#278

Добрый день.

Есть сайт на битрикс. Если в адресе внутренней страницы на конце нет слеша, то пишется ошибка 404, если есть все норм.

Решил сделать редирект htaccess со страниц без слеша, на аналогичные страницы со слешом.

Но все методы которые нашел в интернет не работают. Вставляю код-ничего не меняется.

Рейтинг банков для открытия расчетного счета
(https://trustland.ru/listing-category/banki-dly-otkrytya-raschetnogo-scheta/)Рейтинг vds хостеров (https://trustland.ru/listing-category/vds-vps/) Рейтинг сервисов коллтрекинга (https://trustland.ru/listing-category/kolltreking/)
[Удален]
#279
stifler1:
Добрый день.
Есть сайт на битрикс. Если в адресе внутренней страницы на конце нет слеша, то пишется ошибка 404, если есть все норм.
Решил сделать редирект htaccess со страниц без слеша, на аналогичные страницы со слешом.
Но все методы которые нашел в интернет не работают. Вставляю код-ничего не меняется.

Проверьте работает ли htaccess, если работает , вот этот код должен помочь:

RewriteCond %{REQUEST_URI} !\?

RewriteCond %{REQUEST_URI} !\&

RewriteCond %{REQUEST_URI} !\=

RewriteCond %{REQUEST_URI} !\.

RewriteCond %{REQUEST_URI} ![^\/]$

RewriteRule ^(.*)\/$ /$1 [R=301,L]

and2005
На сайте с 21.05.2005
Offline
164
#280

Снимаю вопрос, все работает

Добрый день, помогите разобраться и подправить, если возможно, чтобы не испортить редиректы, которые работают.

Первые два редиректа работают, а третий нет.

RewriteRule ^aaa/page1.html$ http://www.site.ru/aaa/bbb/page1.html [R=301,NC,L]

RewriteRule ^ccc/page2.html$ http://www.site.ru/ccc/page2/ [R=301,NC,L]

RewriteRule ^ccc/page3.html$ http://www.site.ru/ccc/page2/page3.html [R=301,NC,L]

htaccess такой:

Options +FollowSymlinks

RewriteEngine On

RewriteBase /

# Fix Apache internal dummy connections from breaking [(site_url)] cache

RewriteCond %{HTTP_USER_AGENT} ^.*internal\ dummy\ connection.*$ [NC]

RewriteRule .* - [F,L]

# Rewrite domain.com -> www.domain.com -- used with SEO Strict URLs plugin

#RewriteCond %{HTTP_HOST} .

RewriteCond %{HTTP_HOST} !^www\.site\.ru [NC]

RewriteRule (.*) http://www.site\.ru/$1 [R=301,L]

# Exclude /assets and /manager directories and images from rewrite rules

RewriteRule ^(manager|assets)/*$ - [L]

RewriteRule \.(jpg|jpeg|png|gif|ico)$ - [L]

# Такой редирект работает

RewriteRule ^aaa/page1.html$ http://www.site.ru/aaa/bbb/page1.html [R=301,NC,L]

# Такой тоже

RewriteRule ^ccc/page2.html$ http://www.site.ru/ccc/page2/ [R=301,NC,L]

# А такой нет (page2 теперь папка)

RewriteRule ^ccc/page3.html$ http://www.site.ru/ccc/page2/page3.html [R=301,NC,L]

# For Friendly URLs

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий