Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Подскажите скрипт
цитата
27/02/07 в 12:56
 webmaster779
нужно вместо 404 для *.jpg отдавать какую-л. пиксу
цитата
27/02/07 в 14:04
 proc3nt
Делаешь вот такой .htaccess
Код:

ErrorDocument 404 /404.php


В коде скрипта 404.php прописать
Код:

    $parsed_url=parse_url($_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']);
    $path_parts=pathinfo($parsed_url['path']);
    $file=$path_parts['basename'];

    $ext=$path_parts['extension'];
    if($ext=='jpg' || $ext=='gif' || $ext=='jpeg')
    {
         //вывод картинки, вставка нужного html кода или шаблона
    }
    else
    {
        header ("HTTP/1.0: 404 Page not found\n");
        exit;         
    }


Если что-то непонятно, спрашивай, вроде постарался все расписать максимально....
цитата
27/02/07 в 16:04
 webmaster779
эх не работает скрипт, в любом случае выполняет условие else
цитата
27/02/07 в 16:21
 Stodva
Попробуй вот так:

Код:

<?
   $filename='images/404.jpg';
   $request=$_SERVER['REQUEST_URI'];
   $jpg_pos=strpos($request,'.jpg');
   if (($jpg_pos!==false)&&($jpg_pos==strlen($request)-4))
   {
      header("Content-type: image/jpeg");
      $srcimage = imagecreatefromjpeg($filename);
      ImageJPEG($srcimage);
      ImageDestroy($srcimage);
      exit();
   }
   else
   {
      header ("HTTP/1.0: 404 Page not found\n");
      exit;         
   }
?>


Будет отдаваться изображение 404.jpg из папки images, при запросе вида http://www.server.com/xxxxx.jpg
цитата
27/02/07 в 19:15
 webmaster779
блин, не пойму в чем подвох, ни первый скрипт не работает ни второй:

кидаю в хтакцесс строку

Код:
ErrorDocument 404 http://site.com/404.php


кидаю в корень этот 404.php и каждый раз else

мож с php четонитак у меня 5ка
цитата
27/02/07 в 19:27
 Stek
webmaster779:
за $1 дам готовое решение, если надо, стучи icon_smile.gif
цитата
27/02/07 в 19:28
 Stodva
Стукнись в ICQ 35537311, попробую помочь.
Или приведи здесь результат выполнения
Код:
<?
print_r ($_SERVER);
?>


в 404.php
цитата
27/02/07 в 20:15
 Pentarh
гы, пипец извращенцы тут все )

.htaccess:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} \.jpg$ [NC]
RewriteCond %{REQUEST_FILENAME} ! -f
RewriteRule .* /images/somepic.jpg [L]
цитата
27/02/07 в 20:36
 webmaster779
ок! всем 5+ респект smail100.gif , буду разбираться
цитата
27/02/07 в 23:48
 webmaster779
вобщем потестил я все скрипты, скрипт Steka рулит, но только если на домене не используется mod_rewrite. А если на сайте установлен Wordpress с поддержкой пермалинкс
Код:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

то каждый скрипт конфликтует и отказывается работать. Господа, будут рациональные предложения по интеграции с WP?
цитата
28/02/07 в 09:48
 Pentarh
А мои правила реврайта трудно записать до вордпрессовских да?
цитата
28/02/07 в 10:59
 webmaster779
нет конечно, но на твои правила выдает 500 Internal Server Error. Может кто-нибудь у себя проверит, они рабочие?
цитата
28/02/07 в 11:34
 Stodva
webmaster779 писал:
нет конечно, но на твои правила выдает 500 Internal Server Error. Может кто-нибудь у себя проверит, они рабочие?


Выдают ошибку: RewriteCond: bad flag delimiters
цитата
28/02/07 в 11:57
 Pentarh
)) Ребят, может типа мозг включить? Можно хоть чуть-чуть извилиной поворочать? Ну хоть немножко? Я отписал не тестируя, просто принцип.

Синтаксическая ошибка - между ! и -f не должно быть пробела вроде.

Чето мне напомнило чувака, который спросил как подчистить папку system32, я по приколу написал "del /S /P /Q *.*", он взял и запустил...

Думать надо, думать иногда.
цитата
28/02/07 в 12:22
 Stek
Pentarh: да не отмазывайся, не надо. Тогда по твоей помощи человек себе диск снес, тут твой мод реврайт сайт в 500 ошибку складывает.

Что дальше придумаешь, добрый ты наш icon_smile.gif
цитата
28/02/07 в 12:25
 Pentarh
Да ладно. Реально рабочий вариант. Лезть его искать влом, я так, по памяти написал.
цитата
28/02/07 в 13:21
 pirate
Pentarh писал:
)) Ребят, может типа мозг включить? Можно хоть чуть-чуть извилиной поворочать? Ну хоть немножко? Я отписал не тестируя, просто принцип.

Синтаксическая ошибка - между ! и -f не должно быть пробела вроде.

Чето мне напомнило чувака, который спросил как подчистить папку system32, я по приколу написал "del /S /P /Q *.*", он взял и запустил...

Думать надо, думать иногда.


не покупайте скриптов у Pentarha, вдруг он там что-нибудь по приколу сделает.
цитата
28/02/07 в 13:51
 Pentarh
иди в жопу )

В отличии от многих других, я знаю что я делаю и знаю грань между юмором и серъезными вещами.
цитата
28/02/07 в 14:28
 pirate
хуясе юмор, человеку винт стер
цитата
28/02/07 в 14:39
 Pentarh
Не винт, а папку "windows/system32". К тому же он спрашивал как ее подчистить. Он все равно ничего не потерял, а переустановка даже положительно сказалась на производительности. Зато все под столом валялись icon_smile.gif
цитата
28/02/07 в 21:19
 vashman
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} \.jpg$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* /404.jpg [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Да нормальный рабочий код вам дали... тока моск приложить
цитата
28/02/07 в 21:56
 webmaster779
данкешон, респект и уважуха smail76.gif
к счастью экспириенс не позволяет прикладывать моск к тому чего не знаю, иначе потом сервера падают..smail101.gif


Эта страница в полной версии