Jump to content
  • 0

редирект домена на www


rus
 Share

Question

суть в том, что сайт после редиректа тупо недоступен..., вставлял разные виды записи редиректа, но как я понял дело не в этом, а скорее всего в самой системе (joomla 2.5... какая-то).

редирект происходит, но сайт не доступен, как и сама админка, после удаления записи в .htaccess сайт становится доступен только через некоторое время. на хостинге поддержка модрерайт есть.

подскажите, в чем может быть косяк?

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

Америку не открою и по косякам вряд ли подскажу, но если такой синтаксис еще не опробован, то вдруг

RewriteCond %{HTTP_HOST} .RewriteCond %{HTTP_HOST} !^www\. [NC]RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Возможно для джумлы надо что-то хитрое. Ну и проверять на другом хосте конечно же. Может проблема и не в джумле вовсе

  • Like 1
Link to comment
Share on other sites

  • 0

суть в том, что сайт после редиректа тупо недоступен..., вставлял разные виды записи редиректа, но как я понял дело не в этом, а скорее всего в самой системе (joomla 2.5... какая-то).

редирект происходит, но сайт не доступен, как и сама админка, после удаления записи в .htaccess сайт становится доступен только через некоторое время. на хостинге поддержка модрерайт есть.

подскажите, в чем может быть косяк?

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

Link to comment
Share on other sites

  • 0

да чистил, и в джумле, и в браузере..., вобщем после удаления записи в .htaccess так и редиректет на www, а сайт тупо не открывается (((

впервые с этим столкнулся в вордпрессе, но там не помню как-то из админки вроде бы решил проблему.

Link to comment
Share on other sites

  • 0

Чисто теоретически движок не может видеть что делает модреврайт. Может покажете ваш .htaccess

ко мне можно и нужно даже! на ты ;)

да там самый обычный стандартный джумловский htaccess:

### @package		Joomla# @copyright	Copyright (C) 2005 - 2013 Open Source Matters. All rights reserved.# @license		GNU General Public License version 2 or later; see LICENSE.txt##### READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!## The line just below this section: 'Options +FollowSymLinks' may cause problems# with some server configurations.  It is required for use of mod_rewrite, but may already# be set by your server administrator in a way that dissallows changing it in# your .htaccess file.  If using it causes your server to error out, comment it out (add # to# beginning of line), reload your site in your browser and test your sef url's.  If they work,# it has been set by your server administrator and you do not need it set here.#### Can be commented out if causes errors, see notes above.#Options +FollowSymLinks## Mod_rewrite in use.RewriteEngine On## Begin - Rewrite rules to block out some common exploits.# If you experience problems on your site block out the operations listed below# This attempts to block the most common type of exploit `attempts` to Joomla!## Block out any script trying to base64_encode data within the URL.RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]# Block out any script that includes a <script> tag in URL.RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]# Block out any script trying to set a PHP GLOBALS variable via URL.RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]# Block out any script trying to modify a _REQUEST variable via URL.RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})# Return 403 Forbidden header and show the content of the root homepageRewriteRule .* index.php [F]### End - Rewrite rules to block out some common exploits.## Begin - Custom redirects## If you need to redirect some pages, or set a canonical non-www to# www redirect (or vice versa), place that code here. Ensure those# redirects use the correct RewriteRule syntax and the [R=301,L] flags.### End - Custom redirects### Uncomment following line if your webserver's URL# is not directly related to physical file paths.# Update Your Joomla! Directory (just / for root).### RewriteBase /## Begin - Joomla! core SEF Section.#RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]## If the requested path and file is not /index.php and the request# has not already been internally rewritten to the index.php scriptRewriteCond %{REQUEST_URI} !^/index\.php# and the request is for something within the component folder,# or for the site root, or for an extensionless URL, or the# requested URL ends with one of the listed extensionsRewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]# and the requested path and file doesn't directly match a physical fileRewriteCond %{REQUEST_FILENAME} !-f# and the requested path and file doesn't directly match a physical folderRewriteCond %{REQUEST_FILENAME} !-d# internally rewrite the request to the index.php scriptRewriteRule .* index.php [L]### End - Joomla! core SEF Section.
Link to comment
Share on other sites

  • 0

да ничего вроде особенного. надеюсь свои правила пишешь сюда?

## Begin - Custom redirects## If you need to redirect some pages, or set a canonical non-www to# www redirect (or vice versa), place that code here. Ensure those# redirects use the correct RewriteRule syntax and the [R=301,L] flags.### End - Custom redirects

а ещё есть мысль такая. Как я понимаю джумла настроена на домен без www , и судя по правилам она сама берет все параметры из запроса и разбирает и возможно домен подставляется не из параметра запроса, а из настроек джумлы. Попробуйте в настройках посмотреть, и на сколько помню для джумлы есть плагин для переключения www<->nowww

  • Like 1
Link to comment
Share on other sites

  • 0

1. отключите редирект и попробуйте доступность сайта с и без www через адресную строку

 

2. если сайт доступен по обоим адресам, ставим код редиректа

www.site.com => site.com
#RewriteCond %{HTTPS} offRewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]RewriteRule ^(.*)$ http://%1/$1 [R=301,L]#RewriteCond %{HTTPS} on#RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]#RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

site.com => www.site.com

#RewriteCond %{HTTPS} offRewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]#RewriteCond %{HTTPS} on#RewriteCond %{HTTP_HOST} !^www\.(.*)$ [NC]#RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

если нужна поддержка ssl раскомментируем строчки, иначе их можно просто удалить

 

3. если сайт доступен только в одном варианте с или без www, то возможно стоит сделать редирект наоборот, если это не устраивает, нужно курить джумлу, в настройках где-то должно указываться под каким доменом ей работать, если указан site.ru то www.site.ru может не работать.

Смотри в configuration.php параметр live_site

 

4. где-то на этом форуме вроде, совсем не так давно видел подобную тему, заменяли в каком-то файле жестко прописанный домен на HTTP_HOST, что заставляло работать сайт в обоих вариантах, возможно это пригодится

http://htmlforum.ru/index.php?showtopic=47832&hl=live_site

Edited by Switch74
Link to comment
Share on other sites

  • 0

в public $live_site = ''; указана пустота.

пробовал указать в $live_site с www - не работает.

редиректы - тоже не работают.

сайт при обычных настройках через www недоступен.

звонил хостеру, сказали что с их стороны проблем нет.

чудеса... :dash:

Link to comment
Share on other sites

  • 0

а можно адрес сайта, и попробовать временно убрать от туда джумлу и оставить index.html с простецким кодом, для теста возможности выхода на сайт с www и без него. Если оба варианта будут работать, значит проблема в джумле, дальше можно будет начиная от корневого index.php делать перехватчики и смотреть на каком моменте джумла вырубает сайт как только найдем причинный модуль можно будет его отключить или решать проблему иначе

 

PS джумлу не обязательно удалять полностью, достаточно корневой index.php переименовать

Edited by Switch74
  • Like 1
Link to comment
Share on other sites

  • 0

а можно адрес сайта, и попробовать временно убрать от туда джумлу и оставить index.html с простецким кодом, для теста возможности выхода на сайт с www и без него. Если оба варианта будут работать, значит проблема в джумле, дальше можно будет начиная от корневого index.php делать перехватчики и смотреть на каком моменте джумла вырубает сайт как только найдем причинный модуль можно будет его отключить или решать проблему иначе

 

PS джумлу не обязательно удалять полностью, достаточно корневой index.php переименовать

хм..., я про этот вариант не подумал, спасибо, очень дельный совет.

в htaccess указал другой directoryindex и даже при таком раскладе домен по www не доступен, чего уж тут и говорить про редиректы какие-то..., хотя вот странно, если все же указать редирект на www (с любым директорииндекс), то даже после удаления редиректа из htaccess домен все-равно прекидывает на www, а изменения вступают в силу только после очистки кэша браузера, о как!

Звонил в хостинг, оказывается не хватало записи A в DNS смотрящей на www :rofl:

Блин, ну почему так все через ж... у нас а? :dash:

Всем спасибо, заработало :)

Link to comment
Share on other sites

  • 0

 

а можно адрес сайта, и попробовать временно убрать от туда джумлу и оставить index.html с простецким кодом, для теста возможности выхода на сайт с www и без него. Если оба варианта будут работать, значит проблема в джумле, дальше можно будет начиная от корневого index.php делать перехватчики и смотреть на каком моменте джумла вырубает сайт как только найдем причинный модуль можно будет его отключить или решать проблему иначе

 

PS джумлу не обязательно удалять полностью, достаточно корневой index.php переименовать

хм..., я про этот вариант не подумал, спасибо, очень дельный совет.

в htaccess указал другой directoryindex и даже при таком раскладе домен по www не доступен, чего уж тут и говорить про редиректы какие-то..., хотя вот странно, если все же указать редирект на www (с любым директорииндекс), то даже после удаления редиректа из htaccess домен все-равно прекидывает на www, а изменения вступают в силу только после очистки кэша браузера, о как!

Звонил в хостинг, оказывается не хватало записи A в DNS смотрящей на www :rofl:

Блин, ну почему так все через ж... у нас а? :dash:

Всем спасибо, заработало :)

 

хостинг видимо кустарный какой-то.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy