• Авторизация


Apache: mod_rewrite, .htaccess 09-01-2006 08:17 к комментариям - к полной версии - понравилось!


Ситуация: на сервере есть папка
/otladka/docs/
есть скрипт
/otladka/contents.php
и файл /otladka/.htaccess c таким содержимым:

Options +Indexes
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteRule ^.htaccess$ - [F]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)(russian|english|german)/docs/(.+)/(.*)$ http://domain.ru/otladka/contents.php?language=$2path=$3&print=$4

Скрипт contents.php получает некоторый путь после слов docs и ИЗ БАЗЫ данных вытаскивает тот файл, который соответствует этому пути. Он работает просто. НО: когда я набираю в поисковике http://domain.ru/otladka/docs/index (в базе точно есть запись для пути index) сервер отвечает "Невозможно найти страницу"....
Сделайте предположения, пожалуйста, почему?
[mod_rewrite установлен всегда на Апаче?]
В колонках играет: Dieselboy - Technical Itch / Deadline

LI 5.8.22
вверх^ к полной версии понравилось! в evernote
Комментарии (7):
Naamaah 10-01-2006-14:53 удалить
1. не понимаю нах такой гемор?
2. где расширение index?!
3. на счет mod_rewrite узнай у прова... на этот вопрос скорее ответит он
WPM 10-01-2006-16:03 удалить
Исходное сообщение Naamaah: 1. не понимаю нах такой гемор?
2. где расширение index?!
3. на счет mod_rewrite узнай у прова... на этот вопрос скорее ответит он

1. нужен, чтобы пути были организованы в виде папок, например набирает пользователь http://domain.ru/docs/russian/documents/consult/ . Тогда для пользователя структура логичнее получается.
Например,
http://domain.ru/docs/russian/documents/work/
http://domain.ru/docs/russian/about/history/
http://domain.ru/docs/russian/about/license/
Нужно, чтобы были и такие запросы:
http://domain.ru/docs/russian/work/
http://domain.ru/docs/english/work/
http://domain.ru/docs/deutch/work/
http://domain.ru/docs/deutch/work/print
http://domain.ru/docs/russian/work/print

Не организовывать же всё в виде реальных папок?) А так все документы мирно в одной папке на сервере лежат себе и всё. И есть PHP скрипт который с ними работает логично. Вот.

LI 5.8.22
WPM 10-01-2006-16:05 удалить

Options +Indexes
RewriteEngine on
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^docs/(russian|english|german)/(.+)/(.*)$ getcontents.php?language=$1&path=$2&print=$3

Вот такой вариант вроде пока работает) Недостаток в том, что путь обязательно надо заканчивать слешем если нет слова print после пути. ...docs/russian/documents/work сработает не так, как ...docs/russian/documents/work/.
WPM 10-01-2006-16:13 удалить
на newsinfo.ru кстати такая же организация вроде)

LI 5.8.22
Naamaah 10-01-2006-18:27 удалить
нет... у нас все прописано средствами php
WPM 11-01-2006-07:15 удалить
как? боюсь показаться наивным, неужто пхп обращается к реально существующим папкам?

LI 5.8.22
Naamaah 12-01-2006-10:14 удалить
не все... только новости и статьи


Комментарии (7): вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Apache: mod_rewrite, .htaccess | web_development - Веб-разработка | Лента друзей web_development / Полная версия Добавить в друзья Страницы: раньше»