Форум русской поддержки Joomla!® CMS
08.12.2016, 06:07:17 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

При добавление в URL сайта WWW текущая страница сбрасывается на главную

 (Прочитано 175 раз)
0 Пользователей и 1 Гость смотрят эту тему.
tao2en
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 61


« : 15.10.2016, 04:46:03 »

Собственно выложил сайт на хостинг пару дней назад, решил потихоньку настраивать его..
создал файл .htaccess прописал в самом низу следующий код:

Показать текстовый блок


Задача была выполненна:

1) убрать index.php из url, который появляется при переходе по страницам сайта;
2) сделать редирект главной с index.php в URL на главную без index.php;
3) сделать сайт без WWW главным зеркалом, а с WWW дополнительным с переадресацией на без WWW.
Всё работает, НО:
1) например при переходе по страницам сайта, index.php не появляется, но находясь на другой странице (не главной), например http://мой-сайт.ru/catalog, если я после .ru/ добавлю index.php, то у меня получится 2-е страницы,
 http://мой-сайт.ru/catalog    и    http://мой-сайт.ru/index.php/catalog     и так со всеми страницами. На многих сайтах видел что при добавление index.php в середину URL, ничего не происходит, URL остаётся таким каким был.
2) www.мой-сайт.ru  успешно редиректится на мой-сайт.ru, но опять же находясь на любой другой странице, когда я к ней добавляю www.  у меня текущая страница сбрасывается на главную мой-сайт.ru/. Опять же на других сайтах WWW просто не добавляется и страница остаётся текущей, а не сбрасывается на главную.

Как это фиксится? Серьёзно ли это влияет на продвижение?
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7774



« Ответ #1 : 15.10.2016, 10:12:53 »

вы добавили неверный код. поищите верный. или напишу чуть позже, не удобно сейчас.
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2286



« Ответ #2 : 15.10.2016, 10:25:58 »

Во первых сначала идет RewriteEngine On, потом все остальное. Во вторых - чем не устроил стандартный .htaccess? В корне сайта должен быть htaccess.txt, переименуйте его в .htaccess, в нем править ничего не нужно. В админке в настройках включите ЧПУ. Какой хостер? У некоторых хостеров в панели управления сайтом, там, где выбирается тип php, можно включить перенаправление c www и без оного.
Записан
tao2en
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 61


« Ответ #3 : 16.10.2016, 00:13:11 »

Код я брал с http://joomlaforum.ru/index.php/topic,223542.0.html и делал переименование htaccess.txt на .htaccess, но в нём практически всё закомментировано такими знаками # ##. Код указанный в главном посте, я указывал внизу после всего что было написано в htaccess.txt (.htaccess). Хостер beget. ЧПУ включено, также включил Перенаправление URL.
« Последнее редактирование: 16.10.2016, 00:17:26 от tao2en » Записан
tao2en
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 61


« Ответ #4 : 16.10.2016, 00:29:06 »

Вообще вот такой у меня код прописан на данный момент в .htaccess  (красным помечено то, что я добавил).
Показать текстовый блок
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7774



« Ответ #5 : 16.10.2016, 00:33:24 »

RewriteEngine On у вас выше уже есть, второй раз не нужно

неоткуда скопировать, пишу по памяти, поэтому может где то ошибся. ссылок предостаточно на это, уже бы нашли давно Azn

редирект с www на без www
Код:
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

для вариантов http://site.com/index.php/tamtararam вообще можете безусловный редирект делать
Код:
RedirectMatch 301 ^/index.php/ http://site.com/
Записан
tao2en
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 61


« Ответ #6 : 16.10.2016, 01:26:43 »

RewriteEngine On у вас выше уже есть, второй раз не нужно

неоткуда скопировать, пишу по памяти, поэтому может где то ошибся. ссылок предостаточно на это, уже бы нашли давно Azn

редирект с www на без www
Код:
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

для вариантов http://site.com/index.php/tamtararam вообще можете безусловный редирект делать
Код:
RedirectMatch 301 ^/index.php/ http://site.com/

У меня такой код и был указан, только не в том месте, сейчас поправил:
Получилось так (красным то что добавил)
Показать текстовый блок

Собственно вопросы всё-равно остались:

1) Когда я добавляю www находясь на любой странице, например в каталоге, то вместо того чтобы перенаправление было на эту же текущую страницу но без WWW, меня перенаправляет на главную. На других сайтах при такой манипуляции тебя не перекидывает на главную, а просто не получается добавить WWW и ты дальше находишься на той странице где и был. (как тот и другой вариант влияет на продвижение?)
2) при Добавление index.php в URL, опять же находясь на любой странице, происходит переход на главную, на некоторых сайтах при такой манипуляции вылазит ошибка 404, на других просто добавляет в URL индекс.пчп, тоесть получается 2 адреса один с индес.пчп, другой без.. (что правильнее?)

Просто не понимаю почему у одних так, у других так и влияет ли это как то не продвижение.. а на YouTube есть видео где мужик рассказывает что редирект 301 вообще опасен.. и нужен он только для редиректа с одного домена на другой.
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7774



« Ответ #7 : 16.10.2016, 01:36:24 »

1. вы не видите разницы между тем, что я написал, и тем что вы?
2. думаю нет разницы, главное что не 200. редирект на главную норм
Записан
tao2en
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 61


« Ответ #8 : 16.10.2016, 01:54:31 »

1. вы не видите разницы между тем, что я написал, и тем что вы?
2. думаю нет разницы, главное что не 200. редирект на главную норм

1. Разницу вижу, честно говоря подумал что Вы ошиблись, сейчас вставил Ваш код, ничего в нём не менял и не добавляя в него URL моего сайта, теперь работает всё отлично, когда я нахожусь на любой странице моего сайта и добавлю приставку WWW. , то у меня не происходит перехода на главную страницу, как было, а остаётся на текущей и без WWW, чего я и хотел получил. Большое спасибо!!
2. Не уточните что вы имеете ввиду под: "200".
Записан
AlekVolsk
Профи
********

Репутация: +317/-3
Offline Offline

Пол: Мужской
Сообщений: 6458



« Ответ #9 : 16.10.2016, 02:02:08 »

2. Не уточните что вы имеете ввиду под: "200".
код ответа сервера, по которому браузер понимает, что дальше делать со страницей, которую от от сервера получит или не получит, 200 - это самый хороший код, он означает, что все не просто хорошо, а лучше не бывает )
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7774



« Ответ #10 : 16.10.2016, 02:15:31 »

откровенно говоря SEO не моя сильная сторона, не могу однозначно сказать, что в таком случае правильнее - 301 или 404. может мужик с YouTube и прав, может 404 в этом случае больше подходит. но по личному опыту - абы не 200 Azn
Записан
ELLE
Support Team
*****

Репутация: +862/-0
Offline Offline

Пол: Женский
Сообщений: 4723



« Ответ #11 : 16.10.2016, 02:19:55 »

Цитировать
.301 вообще опасен.. и нужен он только для редиректа с одного домена на другой. 

Так сайт с WWW и без - и есть по сути разные сайты. Вы по сути с поддомена на домен делаете редирект Wink
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7774



« Ответ #12 : 16.10.2016, 02:33:07 »

не, видимо имеется в виду про index.php
Код:
RedirectMatch 301 ^/index.php/ http://site.com/
Записан
ELLE
Support Team
*****

Репутация: +862/-0
Offline Offline

Пол: Женский
Сообщений: 4723



« Ответ #13 : 16.10.2016, 02:41:50 »

А. Дубли нужно склеивать редиректом в нашем случае, а 404 это когда был контент и его удалили навсегда
Записан
tao2en
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 61


« Ответ #14 : 16.10.2016, 02:52:41 »

А как склеить сайт.ru/index.php/catalog ?
При прописывание
Код:
RedirectMatch 301 ^/index.php/ http://сайт.ru/
Получается переадресация всех страниц, где присутствует /index.php, на главную. Как сделать, чтобы была переадресация, например, с сайт.ru/index.php/catalog на сайт.ru/catalog ?
Если не прописывать код выше, то будет две страницы сайт.ru/index.php/catalog и сайт.ru/catalog.

Вот тут кстати видео с YouTube про "вред" редиректа 301 (кому интересно можете ознакомиться)
Показать текстовый блок
« Последнее редактирование: 16.10.2016, 02:56:47 от tao2en » Записан
ELLE
Support Team
*****

Репутация: +862/-0
Offline Offline

Пол: Женский
Сообщений: 4723



« Ответ #15 : 16.10.2016, 03:01:25 »

Возможные варианты
а) у вас закешировались редиректы, проверьте ответ через сторонний сервис
б) на бегет частенько подобные проблемы, у них какие то уникальные конфигурации серверов встречаются, что привычные приёмы не работают
Записан
tao2en
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 61


« Ответ #16 : 16.10.2016, 03:14:31 »

Возможные варианты
а) у вас закешировались редиректы, проверьте ответ через сторонний сервис
б) на бегет частенько подобные проблемы, у них какие то уникальные конфигурации серверов встречаются, что привычные приёмы не работают
Честно говоря не понял что нужно сделать.
Записан
ELLE
Support Team
*****

Репутация: +862/-0
Offline Offline

Пол: Женский
Сообщений: 4723



« Ответ #17 : 16.10.2016, 03:33:31 »

В другом браузере проверьте
Записан
dmitry_stas
Профи
********

Репутация: +798/-4
Offline Offline

Сообщений: 7774



« Ответ #18 : 16.10.2016, 09:40:30 »

так и есть, RedirectMatch браузер кеширует. RewriteRule нет
Записан
neogeek
Давно я тут
****

Репутация: +18/-2
Offline Offline

Сообщений: 212


« Ответ #19 : 16.10.2016, 10:04:02 »

tao2en, замените .htaccess на вот такой
Код:
Options +FollowSymLinks

RewriteEngine On

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

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]

RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%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]

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_URI} !^/index\.php

RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule .* index.php [L]

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://вашдомен.ru/ [R=301,L]

AddDefaultCharset utf-8

# compress text, HTML, javascript, CSS, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
 
# Or, compress certain file types by extension:
 
SetOutputFilter DEFLATE

<ifModule mod_expires.c>
ExpiresActive On
#по умолчанию кеш в 5 секунд
ExpiresDefault "access plus 2 days"
# Включаем кэширование изображений и Flash на месяц
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType image/jpeg "access plus 4 weeks"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/gif "access plus 43829 minutes"
ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
# Включаем кэширование CSS, javascript и текстовых файлоф на одну неделю
ExpiresByType text/css "access plus 604800 seconds"
ExpiresByType text/javascript "access plus 604800 seconds"
ExpiresByType application/javascript "access plus 604800 seconds"
ExpiresByType application/x-javascript "access plus 604800 seconds"
# Включаем кэширование HTML и htm файлов на один день
ExpiresByType text/html "access plus 43200 seconds"
# Включаем кэширование XML файлов на десять минут
ExpiresByType application/xhtml+xml "access plus 600 seconds"
</ifModule>
<ifModule mod_headers.c>
<filesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, private, must-revalidate"
</filesMatch>
<filesMatch "\.(css|js)$">
Header set Cache-Control "max-age=604800, private, must-revalidate"
</filesMatch>
<filesMatch "\.(xml|txt)$">
Header set Cache-Control "max-age=604800, public, must-revalidate"
</filesMatch>
<filesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=604800, private, must-revalidate"
</filesMatch>
</ifModule>

<IfModule mod_setenvif.c>
BrowserMatch "MSIE" force-no-vary
BrowserMatch "Mozilla/4.[0-9]{2}" force-no-vary
</IfModule>
если будет вываливаться ошибка 500, то удалите все строки после AddDefaultCharset utf-8
в моем варианте правильно редиректятся страницы c www на без www (www.site.ru/about -> site.ru/about)
« Последнее редактирование: 16.10.2016, 10:09:16 от neogeek » Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet