Главная » 2011 » Февраль » 3 » Решение проблемы ошибки 404 при входе из архива материалов для UCOZ (Скрипты для ucoz)
03.02.2011, 22:49

Решение проблемы ошибки 404 при входе из архива материалов для UCOZ




Вы наверное уже заметили,а может быть и нет,что при выполнении входа на любой сайт в системе Ucoz из архива новостей (или файлов,статей и т.д.) выскакивает страница ошибки 404 и сообщает ,что страница типа ла-ла-ла.ucoz.ru/news/2?YCgfU или ла-ла-ла.ucoz.ru/load/0-3?YCgfU (или чтото подобное) не
найдена. Если Вы такого не видели или просто не обращали внимания,то попробуйте на своём или любом другом сайте от Ucoz c главной страницы или в архиве материалов (только не в категориях,а всех материалов) выбрать любую страницу архива материалов переключателем страниц и войти на сайт со своим логином и паролем. Вы увидите страницу ошибки 404 ,хотя страница на самом деле существует.Приходится возвращаться назад или обновлять страницу,что не все пользователи будут делать.

Для того чтобы избежать этого и удержать пользователей на своём сайте я предлагаю вам следующий скрипт...Собственно два варианта,с таймером и без таймера редиректа.Пример работы скрипта вы можете увидеть на сайте автора.
<BR><BR>
Скрипт без таймера.

Особенности:
1. При выполнении входа на сайт выше описаным способам (из архива материалов) происходит редирект на ту же самую страницу с минимальной задержкой на странице ошибки 404 (задержка составляет доли секунды,в зависимости от скорости вашего интернет-соединения)
2. При переходе по несуществующей или удаленной внутренней ссылке сайта,происходит редирект на страницу с которой производился переход
3. При переходе по несуществующей или удаленной ссылке вашего с другого сайта открывается страница ошибки 404 (как и раньше) без всяких редиректов

И так,если у вас стандартная страница ошибки 404,то вам нужно загрузить свою (таких сотни готовых) чтобы была возможность редактирования

Вот сам скрипт ,его ставим в <head></head> вашей страницы ошибки 404

Code
<script type="text/javascript">
tmp=new Array();
tmp2=new Array();
param=new Array();
get=location.search;
domain=document.referrer+'/';
domain=domain.substr(domain.indexOf('://')+3);
domain=domain.substr(0,domain.indexOf('/'));
if (get!='') {
tmp=(get.substr(1)).split('&');
for(i=0;i<tmp.length;i++) {
tmp2=tmp[i].split('=');
param[tmp2[0]]=tmp2[1];
}
}
if (!(param["url"])) param["url"]=document.referrer;
redir=false;
function makeurl(system) {
var url=param["url"];
}
function redirect() {
if (redir) location.href=redir;
redir=false;
}
document.write('<a style="display:none" href="'+domain+'">'+domain+'</a>');
if ( domain == 'ВАШ ДОМЕН' ) {
var ints = 1;
function alertes () {
document.getElementById('calc').innerHTML = ints;
if ( ints == 0 ) {
document.location.href = param["url"];
ints = '--';
}
if ( ints > 0 ) {
ints--;
}
};
function refresh(){
if(ints > 0) time_Interval = setInterval("alertes ()",1 );
};
refresh();}
</script>

где ВАШ ДОМЕН меняем на ваш домен типа ла-ла-ла.ucoz.ru без http://

А это ставим в поле <body></body>

Code
<span style="display: none;" id="calc"> </span>
<BR><BR>
Скрипт с таймером.

Особенности:
1. При выполнении входа на сайт выше
описаным способам (из архива материалов) как всегда появляется страница ошибки 404 но уже с таймром обратного отсчета и соответствующей информацией,по истечении которого происходит редирект на страницу с которой производился вход на сайт
2. При переходе по несуществующей или удаленной внутренней ссылке сайта,происходит редирект на страницу с которой производился переход с тем же самым таймером
3. При переходе по несуществующей или удаленной ссылке вашего с другого сайта открывается страница ошибки 404 (как и раньше) без всяких редиректов

Вот сам скрипт ,его ставим в <head></head> вашей страницы ошибки 404

Code
<script type="text/javascript">
tmp=new Array();
tmp2=new Array();
param=new Array();
get=location.search;
domain=document.referrer;
domain=domain.substr(domain.indexOf('://')+3);
domain=domain.substr(0,domain.indexOf('/'));
if (get!='') {
tmp=(get.substr(1)).split('&');
for(i=0;i<tmp.length;i++) {
tmp2=tmp[i].split('=');
param[tmp2[0]]=tmp2[1];
}
}
if (!(param["url"])) param["url"]=document.referrer;
redir=false;
function makeurl(system) {
var url=param["url"];
}
function redirect() {
if (redir) location.href=redir;
redir=false;
}
document.write('<a style="display:none" href="'+domain+'">'+domain+'</a>');
if ( domain == 'ВАШ ДОМЕН' ) {
var ints = 10;
function alertes () {
document.getElementById('calc').innerHTML = '<br><b><span style="color: #000000; font-size: 8pt;">Если эта страница всётаки существует,то Вы попадёте на неё через</span></b><b><span style="color: #ff0000; font-size: 13pt;"> '+ ints + ' </span></b><b><span style="color: #000000; font-size: 8pt;">секунд. В противном случае вы попадёте на предидущую страницу.</span></b>';
if ( ints == 0 ) {
document.location.href = param["url"];
ints = '--';
}
if ( ints > 0 ) {
ints--;
}
};
function refresh(){
if(ints > 0) time_Interval = setInterval("alertes ()",1000 );
};
refresh();}
</script>

А это ставим в поле <body></body> ,это собственно и есть сам таймер (по умотчанию значение отсчета выставлено 10 сек.),вставляете его куда вам захочется в дизайне вашей страницы ошибки 404
Code
<span id="calc"> </span>

Время можете задать самостоятельно в скрипте в значении var ints = 10 (где 10 ,и есть заданное время)
Затем так-же ,как и в первом случае, ВАШ ДОМЕН меняем на ваш домен типа ла-ла-ла.ucoz.ru без http://

Вот впринципе и всё...
На всякий случай вот вам уже готовые страницы 404 (одна с таймером,другая без) с установленными скриптами и дизайном
Скачать архив
Не забудьте сделать замены ,как описано выше (ВАШ ДОМЕН и т.д.) и проставить свои ссылки и ссылки на изображения

Пртестировано на Firefox, Opera, Safari, Google Chrome
На IE редирект при входе не работает (по понятным причинам),все остальное работает так-же, как описано выше

Материал взят с сайта infoscript.ru
Внимание! Копирование данного материала запрещено без указания ссылки на сайт Infoscript.ru
Источник/Автор: romale1980(сайт http://hotwarezyour.my1.ru)
Категория: Скрипты uCoz | Просмотров: 3041 | Добавил: romale1980 | Рейтинг: 5.0/2 |
Теги: проблемы, uCoz, 404, страницы, решение
Всего комментариев: 2
+2  
1 antisept -Infoscript Team-  (04.02.2011 10:50) [Материал]
Аватар пользователя
Честно, никогда этого не замечал. Всегда входил с главной. Но за решение проблемы - спс smile

+1  
2 romale1980   (04.02.2011 11:11) [Материал]
Аватар пользователя
Я тоже сначала не замечал,потом не обращал внимания,а потом уже начало раздражать...
Пожалуйста.

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]