Милованов Ю.С

Милованов Ю.С
Рейтинг
196
Регистрация
24.01.2008
Должность
PROgrammer
Интересы
Автомобили, рыбалка, охота

Вообще по уму так:

RewriteRule !^(index\.php|css/.*|js/.*|images/.*)$ /index.php/$1 [L] #мое основное ЧПУ правило

То есть: если запрос НЕ:

1) www.site.ru/index.php - это у меня разруливатель.

2) www.site.ru/css/ВсеЧтоУгодно.ВЧУ - в этой папке лежат стили

3) www.site.ru/js/ВсеЧтоУгодно.ВЧУ - здесь лежат джаваСкрипт файлы

4) www.site.ru/images/ВсеЧтоУгодно.ВЧУ - здесь изображения,

То включаем преобразование ЧПУ ссылок через мод реврайт.

Если же запрошен один из 4 пунктов - проходим мимо ниче не преобразовывая.

Если не поможет, то в студию все HTACCESSы и код, где 2 раза вызывается ваш ПХП только хромом:)

TheInvisible:
Если бы кто посоветовал, кому показать сайты, чтобы был результат

http://revisium.com/ai/ - 2 в 1. Бесплатно попробовать самостоятельно. На платной основе обратиться к автору скрипта(владельцу сайта).

Да хоть запуск межгалактического корабля:)

if (vision != 0)

{

obj.setAttribute('style', 'display: block;');

obj.innerHTML = ' <img src="/images/picture1.jpg">Сумма: ' +sum;

}

Вряд ли это можно сделать на шаред хостинге.

А вообще с такими вопросами к хостеру, а не к нам:)

1) Либо NginX действительно есть и это он отдает заговок Server: nginx

2) Либо это злой владелец сервера хочет всех одурачить и отправляет такой заголовок, чтобы скрыть правду:)

Справочная здесь! Неужели так сложно сначала там поискать?

michaek:
Посмотреть на заголовки http запроса

ответа:)

http://www.bertal.ru/index.php?a673945/yandex.ru#h - есть NginX.

http://www.bertal.ru/index.php?a673946/4fun.kz#h - нету.

$lines = file('file.txt'); - читаем файл в индексный массив. Каждая строка - ячейка массива

$cnt = count($lines); - считаем количество полученных ячеек

$rand = rand(0, ($cnt-1)); - Нумерация массива начинается с 0, и поэтому максимальное число мы делаем на 1 меньше, чем количество строк. Функция возвращает случайное число из указанного диапазона

echo trim($lines[$rand]); - выводит случайную строку

А эта неповторяемость в пределах чего должна быть?

Можно например на каждой странице выведенный результат писать в сессию, и при каждом выводе смотреть, выводили ли мы для юзера такую строку.

Это если в пределах 1 сессии. То есть юзер на сайт зашел, погулял по страницам, ушел. Завтра пришел, и ему опять может вывестись то, что уже было показано.

Вариант с сессиями.


<?php
session_start(); //НА всех страницах до любого вывода.
$lines = file('file.txt');
$cnt = count($lines);
if (!isset($_SESSION['lines']))
{
$_SESSION['lines'] = array();
}
$i = 1;
do
{
if ($i > $cnt)//Если мы прокрутили цикл $cnt(количество строк) раз, то выходим, так как может быть банальное зацикливание, если юзеру уже показаны все строки.
{
$stop = 1;
break;
}
$rand = rand(0, ($cnt-1));
$line = trim($lines[$rand]);
$i++;
}
while (in_array($line, $_SESSION['lines']));//пока полученная строка есть в массиве уже показанных значений - крутим цикл в поисках нового:)
if (!isset($stop))
{
echo $line; // выводит случайную строку
$_SESSION['lines'][] = $line;
}
?>

Метод этот не совершенен, так как может к примеру 10 раз подряд выбрать из файла ту строку, которая была показана на предыдущей страницы. А так как мы такое не показываем и у нас стоит ограничитель, то мы просто ничего не покажем юзеру.

Чем больше строк в файле, тем меньше вероятности того, что юзеру ниче не покажется.

Ну то есть в файл накидываем 500 строк. Ну максимум юзер сделает 100 переходов. Даже в этом случае на последнем странице вероятность попасть в уже показанную строку всего лишь 20%.

$lines = file('file.txt');

$cnt = count($lines);

$rand = rand(0, ($cnt-1));

echo trim($lines[$rand]); // выводит случайную строку

Что значит чтобы не повторялись?

На главной - ключ1

на "контакты" - ключ10

на "галерея" - ключ 100500

или как?

Всего: 1956