|
|
|||||
ModRewrite обратно
У меня такой вопрос. Как сделать так чтобы не переделывать все ссылки внутри сайта из вида ?action=elmir в /elmir.htm чтобы пользователь не видел этот адрес ?action=elmir а видел этот /elmir.htm
Одну часть я сделал а вот обратно не могу понять как. Перенаправлять запросы что ли? Помогите пожалуйста. DirectoryIndex index.php RewriteEngine On Options +FollowSymlinks RewriteBase /auditor RewriteRule ^([a-zA-Z0-9_]+)\.htm$ ?action=$1&%{QUERY_STRING}
__________________
Если не можешь изменить обстоятельства, тогда измени свое отношение к ним... |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
RewriteBase /auditor
может RewriteBase / ? |
|
|||||
Да нет. Я привел рабочий код который понимает адрес типа /elmir.htm
Мне надо чтобы мои ссылки вида index.php?action=elmir превращались для пользователя в /elmir.htm Я сделал это через ПХП но это не красиво (редирект), я думаю что это можно сделать через mod_rewrite. но пока не знаю как вот и обратился за помощью.
__________________
Если не можешь изменить обстоятельства, тогда измени свое отношение к ним... |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
И представь себе, что когда юзер заходит на /elmir.htm, происходит внутренний редирект на index.php?action=elmir, а index.php в свою очередь пересылает на /elmir.htm
Похуже while (true) |
|
|||||
Почему похуже ? Браузеры напишут, что редирект зациклен и не станут ничего показывать.
Апач отдаваемую страницу переделывать не умеет, да и не его это задача. Так что в коде ручками изменить ссылки, софта, который регулярки умеет искать/менять навалом.
__________________
Тут вы найдете ответы на почти все вопросы: А можно ли сделать так ? - Можно. Почему не работает ? - Неправильно сделано. Где ошибка ? - В ДНК. |
|
|||||
Жаль конечно. что никто такое не делал. А исправлять 2 метра текста это самоубийство...
__________________
Если не можешь изменить обстоятельства, тогда измени свое отношение к ним... |
|
|||||
Не поверишь, один грамотно написанный регэксп - и объем текста значения не имеет. Что-то вроде
preg_replace("/^\?action=(.*)$/", "/$1.html", $source);
__________________
Тут вы найдете ответы на почти все вопросы: А можно ли сделать так ? - Можно. Почему не работает ? - Неправильно сделано. Где ошибка ? - В ДНК. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
Можно в index.php отслеживать query, если он в виде htm, то не делать редирект на этот самый htm
|
Часовой пояс GMT +4, время: 17:37. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|