gormarket

gormarket
Рейтинг
47
Регистрация
29.12.2010

Kot Matroskin, замените в своем коде три строчки для jpg кускам кода для всех форматов:


$t=getimagesize ($_GET['main']) or die('unknown type of image');
switch ($t[2]) {
case 1:
$type='gif';
$main_img_obj=imagecreatefromgif($file_foto);
break;
case 2:
$type='jpeg';
$main_img_obj=imagecreatefromjpeg($file_foto);
break;
case 3:
$type='png';
$main_img_obj=imagecreatefrompng($file_foto);
break;
}

header("content-type: image/".$type);

switch ($type]) {
case 'gif':
imagegif( $main_img_obj );
break;
case 'png':
imagepng( $main_img_obj );
break;
default:
imagejpeg( $main_img_obj );
}

Если делать замены на стороне сервера на PHP, то можно использовать функцию preg_replace

$document = preg_replace ($search, $replace, $text);

где $search и $replace могут быть массивами (регулярных выражений и строк для замены соответственно).

Т.е. можно реализовать сотни и даже тысячи замен одной командой (главное заранее подготовить массивы)

правило

RewriteRule nl(.*) /? [L,R=301]

сделает редирект и для адреса "site.nl/nl_1.php" и для адреса "site.nl/nl/что_угодно" и для адреса "site.nl/что_угодноnlчто_угодно"

Eсли хотите чтобы редирект применялся только для содержимого папки "nl", можно сделать так

RewriteRule ^nl/ /? [L,R=301]

или так

RewriteRule ^nl/ http://%{HTTP_HOST}/? [L,R=301]

PanaKard, можете сделать эти адреса недоступными, отправляя HTTP ответ со статусом 410 (GONE).

Для этого в .htaccess можно добавить код


RewriteCond %{QUERY_STRING} ^new=([0-9]+)$ [NC]
RewriteCond %1 >1
RewriteCond %1 <1001
RewriteRule ^news.php$ - [G]

Не проверял на практике, но может поможет в Вашем случае:

попробуйте поместить h3 и ul li (думаю что это в приведенном примере "Время жизни ..." + "С августа по май... " ) в общий контейнер (например div с float:left)

Заголовок под картинку в этом случае думаю не отъедет, но и ul li возможно не уедет влево от заголовка.

(и DOCTYPE у страницы обязательно должен быть указан для стабильности результатов)

skyrider:
Периодически все страницы сайта с названием index.html и index.php
Заражают скриптом. Прописывают в конец страниц код скрипта.

Вставьте в конец страниц


<?php
exit;
?>

Это не спасет от добавления злоумышленниками скрипта, но может уменьшить нанесенный вред (поскольку все что добавят ниже обычно не будет ни выполняться, ни выводиться).

Ink-developer, попробуйте проверять возвращаемое функцией flock значение.

И еще flock может не всегда работать, посмотрите здесь например.

Для главной страницы видимо нужно добавить еще пару строк


RewriteCond %{THE_REQUEST} index\.php
RewriteRule ^index\.php$ / [R=301,L]

или так


RewriteCond %{THE_REQUEST} index\.php
RewriteRule ^index\.php$ http://%{HTTP_HOST}/ [R=301,L]

Alyzer, строку

RewriteEngine on

в файле .htaccess достаточно иметь один раз (если нет строк RewriteEngine off)

Можете оставить всего одну строку (до первого применения RewriteCond или RewriteRule), остальные удалить.

Теперь по Вашему вопросу:

То, что предложил siv1987 предполагало наличие реальных папок (условие "RewriteCond %{REQUEST_FILENAME} !-d").

У Вас же этих папок в реальности нет, в результате условие не срабатывает и происходит зацикливание.

Для Вашего случая можно вставить следующий код


RewriteCond %{THE_REQUEST} index\.php
RewriteRule ^([^/]+/)index\.php$ /$1 [R=301,L]

ниже строки

RewriteEngine on

Всего: 437