dimastik1986
@dimastik1986
учусь

Как лучше реализовать обработку url?

Доброй ночи!) Даже не знаю, как бы описать проблему, которую сам себе придумал)))

В двух словах - хотел сайт с динамической подгрузкой контента через ajax, при этом хотелось скрыть реальные адреса url куда посылается запрос.

В итоге через js функцию отправляю все запросы на один Php файл, в запросе передается переменная name, в зависимости от того, какое значение содержит эта переменная, формируется адрес обработчика и он подтягивается через include для обработки запроса.

Ссылки имеют вид site.ru/page1 тогда как реальный адрес site.ru/pages/page1.php

Через jquery.history пытаюсь как-то этим безобразием управлять. Все работает, туда-сюда переходит, все хорошо, пока не сделать рефреш страницы. Естественно ошибка 404... Никаких настроек htaccess я не делал, ибо не умею )))

Собственно вопрос: как лучше решить проблему? мне в голову приходит пока только один вариант который я со своими знаниями могу реализовать. Сделать разбор url'a с помощью php и дальше по старой схеме. Но кажется мне, что есть другой способ, возможно как раз через htaccess?

еще немного букв

ps: планируется что ссылки будут иметь только один уровень, т.е. site.ru/page1/cat НЕ будет, но ссылки могут тащить вместе с собой 2-3 переменные. До этого момента еще не дошел, поэтому затрудняюсь сказать какой они будут иметь вид, вернее какой разделитель будет использоваться после основного url, думаю типа site.ru/page1?dt_begin=.......&dt_end=....... или вместо ? будет что-то еще!? например :?! Но это уже вопрос другой...


не спрашивайте зачем мне это, просто интересно...
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
dimastik1986
@dimastik1986 Автор вопроса
учусь
сделал так, все ок, может кому пригодится...

RewriteEngine On
RewriteBase /pages

RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
RewriteRule ^([^.]+)$ $1.php [NC,L]

ErrorDocument 401 /errors/401.php
ErrorDocument 403 /errors/403.php
ErrorDocument 404 /errors/404.php
ErrorDocument 500 /errors/500.php
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
irishmann
@irishmann
Научись пользоваться дебаггером
mod_rewrite для Apache, и инструкции по созданию ЧПУ (человеко-понятных урл)
тыц и тыц
Ответ написан
php666
@php666
PHP-макака
хотелось скрыть реальные адреса url куда посылается запрос.
в этом нет никакого смысла.
адрес virtual/request/
ничем не отчличается от
real/request/
с точки зрения внешнего клиента, запрашивающего информацию. единственная причина для сокрытия алдресов - эстетическая.

ну и на - ЧПУ на PHP. Прочь от ModeRewrite правил. Единая то...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы