Изменение вида URL

hussar

In code we trust!
Изменение вида URL

Всем доброе время суток!
У меня есть задача, поменять адрес такого вида:
.../archives/arh.php?id=14
на:
.../archives/arh/14
или
.../archives/14

Необходимо это для лучшей индексации сайта поисковыми системами (таково желание заказчика).
На сколько я понял из поиска по форуму mod_rewrite url'ы налету не меняет. Значит здесь нужно непосредственно работать с переменной $_SERVER['REQUEST_URI'] и регулярными выражениями.
Вопрос заключается в том, правильно ли я понял направление в котором надо работать?
Всем заранее спасибо.
 

HEm

Сетевой бобер
Re: Изменение вида URL

Автор оригинала: hussar
На сколько я понял из поиска по форуму mod_rewrite url'ы налету не меняет.
Ты неправильно понял, мод_реврайт как раз меняет урлы на лету
 

hussar

In code we trust!
Значит не правильно понял :)
Использую такой файл .htaccess:

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)/(.*)/$ arh.php?id=$1 [L]

А сервер мне выдает:

You don't have permission to access /archives/arh.php on this server.
 

hussar

In code we trust!
Не переводить не надо, по аглицки понимаю :)
Я прописал но проблема осталась. В той директории где этот файлик лежит есть два файла: index.php и arh.php, так вот при обращении к любому из них мне выдается то что я уже сверху запостил :(
 

StUV

Rotaredom
hussar
а без хтакцесса ты прямой доступ к этим скриптам имеешь ?
 

hussar

In code we trust!
С правами доступа все в порядке. И прямой доступ к файлам имею. В этом то все и дело
 

Линк

Guest
если
. И прямой доступ к файлам имею.
то почему
так вот при обращении к любому из них мне выдается то что я уже сверху запостил
видимо не впорядке с провами

проставь chmod и удостоверься что в .htacces стоит allow from all

причем не только для него, но и для верхних уровней
 

hussar

In code we trust!
Такое сообщение выдается при обращении если в директории лежит файл .htaccess вышеизложенного содержания. Без него все работает нормально.
 

hussar

In code we trust!
:) Ура, заработало... ошибку не выдает. Но URL не меняется как был вида arh.php?id=... , так и остался :(

Я наверное что-то не правильно написал, но что я не догоняю :(
 

hussar

In code we trust!
Отлично! Такой вопрос тогда, поисковики когда работают с сайтом будут ли видеть измененый урл?
И еще один - как тогда можно в адресной строке поменять адрес? какой-нить хитрой подстановкой $_SERVER['REQUEST_URI'] или как-то через JavaScript???
 

HEm

Сетевой бобер
hussar
фигней маешься какой-то, от кого прячешь? от поисковиков? они уже научились индексировать такие страницы
 

Линк

Guest
обычно делают наоборот
скрпиты типа Index.php/a/b/c/d меняют на index.php?a=b&c=d
 

hussar

In code we trust!
Я бы не маялся! А вот заказчику это объяснить сложно!!!

А можно вопрос? Зачем делать наоборот (как в предыдущем посте), в чем смысл?
 

StUV

Rotaredom
клиенту в браузере удобнее набирать "красивый" УРЛ:
http://.../some1/some2

а mod_rewrite преобразует его в необходимую строку запроса типа
http://.../some.php?s1=some1&s2=some2

etc ...

-~{}~ 19.04.04 15:27:

зы: при этом клиент в своем браузере продолжает видеть первоначальный "красивый" УРЛ, который проще запомнить и набрать
 

hussar

In code we trust!
т.е. надо сначало заставить поисковик проиндексировать сайт через красивые урлы, а затем когда юзверь пойдет с поисковика на сайт красивый урл надо переделать в настьящий!

Така должна быть логика?!
 
Сверху