|
|
|
| В инструкции по работе с модулем mod_rewrite есть такой пример:
RewriteRule ^(.*)shop(.*)$ $1shop.cgi$2
| Если я правильно понял, то в этом случае в УРЛе, содержащем shop, эта часть адреса заменяется на shop.cgi.
Соотвественно, если потребуется заменить shop2 на shop.cgi, то придется написать вторую строку с этой инструкцией.
А можно ли одной строкой сделать коллективную замену? Чтобы все адреса, имеющие в своем составе shop, (например shop2, shop3, shop25155) заменялись на shop.cgi? | |
|
|
|
|
|
|
|
для: Владимир55
(15.01.2010 в 15:48)
| | ^(.*)shop(.*)$ $1shop.cgi$2
какая-то неправильная подмена
, как будто пргопущен знак вопроса $1shop.cgi?$2
здесь два подсовпадения (.*) - $1 и $2
причём первая подстрока оставляется на своём месте
, т.е запрос подменяется на несколько адресов
firstshop.cgi
nextshop.cgi
76576566shop.cgi
........
Во второй (.*) может быть чего угодно, если есть знак вопроса на запрашиваемый адресс не повлияет
, а у cgi-приложений удобнее просто работать с QUERY_STRING , массив $_GET это чисто проделки php | |
|
|
|
|
|
|
|
для: Владимир55
(15.01.2010 в 15:48)
| | Вы не совсем верно трактуете пример: не просто перенаправляется на shop.cgi, а еще и подставляет ему начало и конец от оригинального урл
иными словами, просто в урл заменяет shop на shop.cgi
так что хорошо бы увидеть примеры полного url, прежде чем советовать что-то | |
|
|
|
|
|
|
|
для: Loki
(15.01.2010 в 17:18)
| | Действительно, пример с cgi неудачный и вводит в заблуждение.
А реально мне нужно вот что.
Есть несколько разных страниц, каждая из которых показывает графический файл.
На одной странице код такой:
<p><img border="0" src="foto/thumb1.jpg" width="186" height="140" alt="Пингвин"></p>
|
На другой такой
<p><img border="0" src="foto/thumb2.jpg" width="186" height="140" alt="Пингвин"></p>
|
На сто первой такой
<p><img border="0" src="foto/thumb101.jpg" width="186" height="140" alt="Пингвин"></p>
|
А в папке foto есть лишь один файл thumb.jpg. И надо сделать так, что бы изображение из этого файла воспроизводилось на всех страницах.
(На всякий случай - в папке foto других файлов нет. Поэтому можно использовать сам факт обращения к этой папке, если это упростит дело). | |
|
|
|
|
|
|
|
для: Владимир55
(15.01.2010 в 17:30)
| | В папке с этим thumb.jpg
,можно положить например такое
Options +FollowSymlinks
RewriteEngine On
RewriteRule ^thumb[0-1]*.jpg$ thumb.jpg
| если не перепутал буквы, и если AllowOverride позволяет изменять Options
или вообще
RewriteRule ^,*$ thumb.jpg
или отдавать картинку скриптом, и анализировать цифры
RewriteRule ^thumb([0-1]*).jpg$ index.php?num=$1
, но в таком случае изменятся заголовки отдаваемые с картинкой , и возможно браузеры перестанут её кэшировать. А это плохо.)
//upd
буквы перепутал, везде вместо [0-1] должно быть [0-9] | |
|
|
|
|
|
|
|
для: heed
(15.01.2010 в 20:13)
| | Все великолепно получилось!
Спасибо! | |
|
|
|