Показать полную графическую версию : mod_rewrite etc.
Страниц :
1
2
[
3]
4
5
6
7
8
9
10
Siava one
попробуй это RewriteCond %{THE_REQUEST} .+\.(jpg|gif|png|jpeg|bmp|tiff)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .+ picture.jpg [L] подправь там где надо, или если синтаксис не тот (что то не помню, слеш нужен в последней строке али нет :)). Но моя идея вроде толковая (не проверял)...
Siava one
23-07-2006, 22:17
Sham
Спасибо, вот только не работает этот вариант :(
Я его и видоизменял по-всякому, ничего не выходит.
vadimiron
23-07-2006, 23:50
Siava one
А на чём написан сайт?? Если не просто ХТМЛ, а например, ПХП, то лучше такое на уровне скрипта делать
Siava one
24-07-2006, 00:27
vadimiron
На PHP, но я надеялся, что с mod_rewrite можно сделать универсальное решение.
vadimiron
24-07-2006, 02:00
Siava one
А почему вы демаете, что с mod_rewrite - универсальное решение??
А если другой вебсервак?? Или отключён mod_rewrite модуль??
Siava one
Я надеюсь, ты не думаешь, что с mod_rewrite можно управлять другим сервером :) ? В таких случаях я, например, внутри цикла формирования таблицы шерстил весь текст регуляркой на наличие тега(ов) IMG и src, вытаскивал URL(ы), а потом if (fopen(URL...))... ну и т.д. Но это сильно замедляет процесс...
Вообще то надо бы поточнее инфу, где твоя картинка лежит, где картинки юзеров. В начале еще ставить надо RewriteEngine On (забыл)... Конкретику давай, будет тебе код конкретный :kruto: :)
Siava one
24-07-2006, 03:30
vadimiron
Хм.. Интересный вопрос =)
Sham
Ладно, вот конкретика :)
Имеется скрипт, с помощью которого народ загружает картинки, а потом выставляет их в форуме/дневниках. Вот (http://siava.spb.ru/up/files/siava_snap0035.jpg) адрес одной из таких картинок (5кб). А Вот (http://siava.spb.ru/forum/topic.php?t=337) адрес одной из тем форума, куда может быть вставлена картинка.
А далее, картинку удалили, в теме осталась дырка. Как этого избежать, автоматически залатав дырку какой-нибудь специальной картинкой через rewrite_mod? :)
Вроде изложил :D
Siava oneRewriteEngine On
RewriteCond %{THE_REQUEST} .+\.(jpg|gif|png|jpeg|bmp|tiff)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ picture.jpg [L] этот код суй в .htaccess (в формате UNIX сохрани само собой) и ентот .htaccess клади в каталог с картинками (если не один, то во все. Можно общий сделать, но я иерархию каталогов у тебя не знаю). Файл picture.jpg должен там (где .htaccess) быть по-любому, а то зациклит :). Пробуй короче... Если зациклит, будем решать...
vadimiron
24-07-2006, 21:38
Siava one
Правда, зачем так мучиться?? Функция file_exists() и все дела
Siava one
24-07-2006, 21:57
Sham
Ваш код работает! Спасибо! :)
vadimiron
А как через file_exists() проверять в уже написанных постах? Лишняя нагрузка по-моему.
vadimiron
25-07-2006, 00:15
А как через file_exists() проверять в уже написанных постах? Лишняя нагрузка по-моему.
Ну так код, котрый выводит сообщение, всего один
Хотя с mod_rewrite тоже интересное решение, главное чтобы работало
Siava oneВаш код работает! Спасибо!Это не может не радовать :)
у меня затык)
надо сделать:
редирект для тех кто приходит с
http://site.ru/k9/send.php?value=5&page=1-9
на
http://site.ru/k3/send.php?value=97&page=1-9
т.е. чтобы все page со значением (может быть любое через дефис или нижнее подчеркивание) работали как параметры метода get на урле куда они редиректятся (там скрипт)
все ссылки устроены так что те что были раньше по k9 должны ссылаться на k3 (директорию k9 удалили, создали директорию k3, и все соджержимое перенесли туда)
value - это переменная содержащая значение id страницы в базе, после переноса индексы поменялись, но четкие соответствия новых и старых значений - есть
значение page никак не должно менятся после редиректа, но она может быть любыми цыфрами через дефис (пользователь может захотеть посмотреть выборочно страницы скрипт их принемает как параметр get)
----
что делать?:)
E-mailRewriteEngine On
RewriteCond %{QUERY_STRING} value\=5\&page\=([0-9\-\_]*)
RewriteRule ^k9/send\.php$ k3/send.php?value=97&page=%1А value юзера должен быть равен только 5? Если да, то я понял прально. А если value юзера вообще не нужно проверять, то удали "value\=5\&" где условие (во второй строке). Клади .htaccess туда, где каталог k3 (но не в него!), т.е. в корень сайта, насколько я понял. Если уже есть какие-то правила там, то первая строка не нужна ессно... В общем не проверял, но работать должно. :)
А value юзера должен быть равен только 5?
при вызове value=5 скрипт должен получать value=97
там их много, например при вызове
value=7 скрипт должен получать именно value=109
и при вызове именно value=50 скрипт должен получать именно value=2
и т.д.
Sham спасибо тебе большое!
завтра(сегодня уже) утром попробую:)
E-mail
Если так (ты бы сразу весь расклад дал), то этот вариант будет лучше. Special for you. :)
## этот код до черты в .htaccess и кладем в корень (перед k3)
RewriteEngine On
## подмена каталога k9 на k3
RewriteRule ^k9(.*)$ k3$1 [L]
-------------------------------------------------------------------------
## а этот .htaccess с кодом ниже кладем в каталог k3
RewriteEngine On
## проверка строки GET на нужное value
## следующие 2 строки повтори для каждого значения value
RewriteCond %{QUERY_STRING} value\=5\&page\=([0-9\-\_]*)
## тут переменные местами поменял, как страховка от зацикливания :)
RewriteRule ^send\.php$ send.php?page=%1&value=97 [L]
Sham спасибо! и спасибо не за скрипт более, а более за Special for me,
это самое приятное и дорогое что можно редко встретить в мире
П.С.
хороших людей больше, они просто встречаеются реже
Vlad Drakula
02-08-2006, 20:58
301 («Moved Permanently»)
как прописать это в настройках площадки...
я немного поменял структуру сайта и хочу чтобы со старых страниц шел автоматический редирект на новые.
как это следать?
Vlad Drakula
02-08-2006, 21:50
в итоге решение взято здесь:
http://www.webconfs.com/how-to-redirect-a-webpage.php
но пришлось слегка модифицировать, вот что получилось:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^zimbabve/(.*)$ http://www.geo-world.ru/africa/zimbabve/$1 [R=301]
и да простить меня хостер за .htaccess размером в 93kb
Vlad Drakula можно еще так:
RewriteRule ^(zimbabve|qw|ee|rrr|ttt)/(.*)$ http://www.geo-world.ru/$2/$1 [R=301]
если правильно понял тебя про и да простить меня хостер за .htaccess размером в 93kb
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.