Главная » 2012 » Март » 16 » Скрипты uCoz: Решение проблемы ошибки 404 при входе из архива ма...
20:06
Скрипты uCoz: Решение проблемы ошибки 404 при входе из архива ма...

Решение проблемы ошибки 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
Просмотров: 496 | Добавил: Ahmed | Теги: проблемы, входе, при, из, UCOZ:, архива, ошибки, Скрипты, решение, 404 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *: