Как настроить Apache чтобы запускался определённый файл
Запускался файл http://www.mydomain.ru/index.php
А ещё лучше, http://www.mydomain.ru/dir1/index.php
Пробывал сделать это через регулярные выражения (есть такая штука в Apache), но чё-то не получилось нифига.
Там у меня получилась рекурсия и всё повисло. (Видимо, из-за того, что новый путь, который получился, тоже подходил к этому же самому рег.выражению)
cgi.myweb.ruX)-
Это называется перенаправление скрипт можно скачать здесь
cgi.myweb.ruX)-
Не, редирект - это не то.
Редирект, это когда загружается один скрипт и он перенаправляет на другой адрес.
А уменя вообще никакой скрипт не должен запускаться - у меня сразу должен редирект происходить (на уровне Апача).
Вообще, конечная цель следующая:
Все видели такие адреса: http://www.mydomain.ru/news.php/dd/mm/yyyy/
А вот мне нужно тоже, но без news.php, т.е. сразу
http://www.mydomain.ru/dd/mm/yyyy
А дак это дополнительный путь точ-то идёт после расширения .php веб-сервер достаточно умён чтобы понять какой скрипт надо обрабатывать так вот дополнительный путь здесь всё что идёт после news.php
броузер выполняет именно news.php а на остальное он не обращает внимание
:!!!: :!!!: :!!!:
http://www.mydomain.ru/dd/news.php/mm/yyyy
А дак это дополнительный путь точ-то идёт после расширения .php веб-сервер достаточно умён чтобы понять какой скрипт надо обрабатывать так вот дополнительный путь здесь всё что идёт после news.php
броузер выполняет именно news.php а на остальное он не обращает внимание
:!!!: :!!!: :!!!:
Да знаю я, но не нужно мне так, чтобы news.php
Кто меня не понимает, вот сайтик: rhonda.ru
Там все ссылки (в том числе и те, что ссылаются на html-ки) БУТАФОРНЫЕ!! Это я точно знаю. Весь путь парсится и сравнивается с конфиг-xml-кой - там для каждого элемента пути по узлу, в аттрибутах которого есть pattern (типа, шаблон), будь то промежуточный кусок путипуть (между слэшами) или конечный - ака html-ка. В действительности, там все доки в одной папке лежат.
Но всё дело в том, что там IIS, а мне на апаче такую штуку сделать нужно.
И я не сомневаюсь, что это сделать очень просто - всего-то нужно, чтобы Apache для любых ссылок запускал конкретный скрипт на сервере, а уж в нём я сам строку адреса обработаю как мне нужно.
Только проблеме в том, что я не силён в Апаче и даже не могу правильный запрос в поисковик составить (на "настройку Апача" выскакивает целая куча ненужных линков)
Да знаю я, но не нужно мне так, чтобы news.php
Кто меня не понимает, вот сайтик: rhonda.ru
Там все ссылки (в том числе и те, что ссылаются на html-ки) БУТАФОРНЫЕ!! Это я точно знаю. Весь путь парсится и сравнивается с конфиг-xml-кой - там для каждого элемента пути по узлу, в аттрибутах которого есть pattern (типа, шаблон), будь то промежуточный кусок путипуть (между слэшами) или конечный - ака html-ка. В действительности, там все доки в одной папке лежат.
Но всё дело в том, что там IIS, а мне на апаче такую штуку сделать нужно.
И я не сомневаюсь, что это сделать очень просто - всего-то нужно, чтобы Apache для любых ссылок запускал конкретный скрипт на сервере, а уж в нём я сам строку адреса обработаю как мне нужно.
Только проблеме в том, что я не силён в Апаче и даже не могу правильный запрос в поисковик составить (на "настройку Апача" выскакивает целая куча ненужных линков)
Чтобы Apache при любых ссылках открывал один единственный скрипт, достаточно написать обработчик 404 ошибки. А в обработчике можно сделать всё что хочешь.
В том случае, который был в первом топике, можно в последней директории (если она есть) в файле .httacces прописать DirectoryIndex путь к файлу. Если её нет тогда запустится 404 обработчик.
Чтобы Apache при любых ссылках открывал один единственный скрипт, достаточно написать обработчик 404 ошибки. А в обработчике можно сделать всё что хочешь.
В том случае, который был в первом топике, можно в последней директории (если она есть) в файле .httacces прописать DirectoryIndex путь к файлу. Если её нет тогда запустится 404 обработчик.
Опа, а об этом я чё-то не подумал.
Спасиба, по-пробую. В принципе, это похоже на то, что мне нужно, но может всё таки есть прямой (не через ж) способ это сделать? А то какой ни будь крендель возьмёт и угадает действительную папку, которая есть на сервере и никакая 404 не сработает.
Опа, а об этом я чё-то не подумал.
Спасиба, по-пробую. В принципе, это похоже на то, что мне нужно, но может всё таки есть прямой (не через ж) способ это сделать? А то какой ни будь крендель возьмёт и угадает действительную папку, которая есть на сервере и никакая 404 не сработает.
В случае если угадает надо задать тот-же DirectoryIndex и написать что типа "ай-я-яй". Ну и наверно надо закрыть листинг папки, если он не закрыт по умолчанию. Но я думаю до такого не дойдёт. Кому ты нужен (в хорошем смысле)??:)
http://httpd.apache.org/docs/mod/mod_rewrite.html
Пример в .htaccess
--------------
RewriteEngine on
RewriteBase /
RewriteRule ^dir1/(.*) /index.php
--------------
А в index.php посмотри [phpdoc]phpinfo[/phpdoc](). Путь будет указан в $_SERVER["REQUEST_URI"]