Вопрос по Mod Rewrite

C
На сайте с 20.02.2006
Offline
52
507

Здравствуйте, Друзья!

Необходимо организовать подмену Урл для сайта - для этого планирую использовать Mod rewrite. Однако с синтаксисом глубоко не знаком, по этому решил обратиться в кам :)

Вопрос следующий: можно ли средствами apache переделать вот такой запрос:

http://www.my-site.ru/data/1/2/3/myfile_456783.rar

на вот такой:

_http://data.my-site.ru/1/2/3/workdb_456783.rar

Заранее благодарю за любые ответы \ примеры :)

--------------------------------------------

Удачного дня и отличного настроения!

С уважением Громаковский Евгений.

Pike
На сайте с 13.07.2004
Offline
79
#1

Ну например если "data", "myfile_" и "workdb_" всегда присутсвуют, то что-то вроде

RewriteEngine On

RewriteRule ^data(.*)\/myfile_(\d*) http://data.my-site.ru$1/workdb_$2.rar

может помочь

free hosting (http://rahost.com)
adrin02
На сайте с 12.04.2006
Offline
85
#2

Нужно создавать поддомен на котором также писать правило реврайта. Тогда может и будет работать.

Ссылки переделаются но работать небудут. Так как обращение пойдет к поддомену а его несуществует.

Хостинг изображений (http://likepic.net) SpeedTest (http://speed-tester.info)
C
На сайте с 20.02.2006
Offline
52
#3

Поддомен существует :)

Последняя ссылка - ту, в которую нужно преобразовать исходную - активная. т.е. если её ввести в браузер начнется скачивание файла.

Вопрос в только в том, как преобразовать исходный запрос.

----------------------

Сама идея работы скрипта такая:

1. Пользователь жмет на ссылку вида:

<a href='http://www.my-site.ru/data/1/2/3/myfile_456783.rar'> Получить архив </a>

2 Начивается скачивание файла:

http://data.my-site.ru/1/2/3/workdb_456783.rar

Pike
На сайте с 13.07.2004
Offline
79
#4

Challenger,

А Я вам что написал? Вставляйте в .htaccess и проверяйте

adrin02
На сайте с 12.04.2006
Offline
85
#5

RewriteEngine On

RewriteRule ^file_([0-9]+)\.rar$ data/1/2/3/myfile_$1.rar [L]

ето правило файл из папки data/1/2/3/ название файла должно быть цифры myfile_1 myfile_2 и тдд

переведет в ссылку file_1.rar file_2.rar

точнее

http://www.my-site.ru/data/1/2/3/myfile_456783.rar

станет

http://www.my-site.ru/file_456783.rar

только что у себя проверил работает

возможно так для поддомена

RewriteRule ^http://data\.my-site\.ru/1/2/3/workdb_([0-9]+)\.rar$ data/1/2/3/myfile_$1.rar [L]

но у меня нехочет может ктото подправит

[Удален]
#6
Challenger:

http://www.my-site.ru/data/1/2/3/myfile_456783.rar

на вот такой:

_http://data.my-site.ru/1/2/3/workdb_456783.rar

Можно но только через редирект. Т.е. урл скрыть не получится

RewriteRule ^([^/]+)/(.*)/myfile_([0-9]+).rar$ http://$1.mysite.ru/$2/workdb_$3.rar [R=301,L]

Чтобы подменять урл для обращений к другим хостам, нужно использовать mod_proxy, соответствующий флаг для реврайта будет [P]. Подробнее можно узнать в гугле на первой строчке по запросу Mod_rewrite

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий