За последние 24 часа нас посетили 18412 программистов и 1611 роботов. Сейчас ищут 2108 программистов ...

Apache + PHP. Новое открытие?!! :)

Тема в разделе "Прочее", создана пользователем PostGRI, 24 июл 2007.

  1. PostGRI

    PostGRI Активный пользователь

    С нами с:
    24 июл 2007
    Сообщения:
    5
    Симпатии:
    0
    Только что я занимался отладкой своих скриптов и случайно наткнулся на интересную вещь. Такое ощущение, что кроме меня сейчас про это малок кто знает :)
    Речь идет об интерпретации адресной строки сервером Apache. Так вот я заметил, что адреса
    http://www.sainf.ru/modules/forum/memberlist.php
    и
    http://www.sainf.ru/modules/forum/memberlist
    и даже
    http://www.sainf.ru/modules/forum/memberlist/
    ведут себя одинаково!
    Во всех трех случаях обращение идет к скрипту memberlist.php

    В документации я такого еще не встречал… Может кто-нибудь ткнет пальцем? Иначе я буду считать себя первооткрывателем :)
     
  2. Anonymous

    Anonymous Guest

    PostGRI, mod_rewrite
     
  3. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    мдя... :)
    как это прекрасно, видеть людей, делающие открытия %)
     
  4. PostGRI

    PostGRI Активный пользователь

    С нами с:
    24 июл 2007
    Сообщения:
    5
    Симпатии:
    0
    Не люди, я не такой чайник, как вам кажется :)
    Я на своем сервере проверял, где mod_rewrite не используется
    А те адреса привел только для примера, попробуйте у себя...
     
  5. Davil

    Davil Guest

    PostGRI
    случайно не на CMS bitrix?
     
  6. Anonymous

    Anonymous Guest

    PostGRI, так же может быть каприз опции MultiViews... и еще какой-то. Это документированное поведение, в общем.
     
  7. PostGRI

    PostGRI Активный пользователь

    С нами с:
    24 июл 2007
    Сообщения:
    5
    Симпатии:
    0
    Просмотрел конфигурацию Аpache, но не нашел там ничего такого, что давало бы такой эффект. И в .htaccess'ах тоже ничего подобного нет.
     
  8. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    не верю.
     
  9. deather

    deather Активный пользователь

    С нами с:
    10 авг 2007
    Сообщения:
    12
    Симпатии:
    0
    Адрес:
    Kaliningrad
    Ситуация #0: адрес http://www.example.com/forum/memberlist.php
    Тут все понятно...

    Ситуация #1: адрес http://www.example.com/forum/memberlist
    Апач, вначале ищет файл memberlist в директории /forum/, если не находит, то просматривает эту директорию на наличие файлов memberlist.*; если находит один испольняемый файл (например memberlist.html или memberlist.php), то отдает файл на обработку, если испольняемых файлов несколько, или таких файлов нет вообще, то апач будет обрабатывать memberlist не как файл, а как директорию /forum/memberlist/, т.е. попытается найти индексный файл в этой директории.

    Ситуация #2: адрес http://www.example.com/forum/memberlist/
    Апач будет искать директорию /forum/memberlist/, если не найдет, то начнет поиск файла /forum/memberlist, а уже потом /forum/memberlist.* (см. ситуацию #1)

    з.ы. Вот с таким хитрым индейцем мы и работаем :)
     
  10. eduha

    eduha Активный пользователь

    С нами с:
    8 ноя 2006
    Сообщения:
    278
    Симпатии:
    0
    Адрес:
    Караганда
    Это называется MultiViews.
     
  11. deather

    deather Активный пользователь

    С нами с:
    10 авг 2007
    Сообщения:
    12
    Симпатии:
    0
    Адрес:
    Kaliningrad
    Ага! И это очень удобно!

    Почитать об этой феньке можно тут: http://httpd.apache.org/docs/2.0/mod/mo ... ation.html ;)
     
  12. PostGRI

    PostGRI Активный пользователь

    С нами с:
    24 июл 2007
    Сообщения:
    5
    Симпатии:
    0
    Сейчас случайно наткнулся на еще один интересный момент!
    Оказывается, в PHP можно программировать не только на английском языке :shock:

    Попробуйте сами:
    PHP:
    1. function напечатать_текст($текст){
    2.     echo $текст;
    3. }
    4. напечатать_текст('вот это да!');
    Проверял на PHP4 и 5 - у меня работает.

    Об этом кто-нибудь писал?
     
  13. Luge

    Luge Старожил

    С нами с:
    2 фев 2007
    Сообщения:
    4.680
    Симпатии:
    1
    Адрес:
    Минск
    да
     
  14. ustas

    ustas Активный пользователь

    С нами с:
    17 сен 2007
    Сообщения:
    59
    Симпатии:
    0
    PostGRI
    ага, специально для 1С Битрих :) так что пользуйся.
     
  15. PostGRI

    PostGRI Активный пользователь

    С нами с:
    24 июл 2007
    Сообщения:
    5
    Симпатии:
    0
    ustas
    нее, кодить на русском имхо не самая лучшая затея :)
    Просто сам факт такой возможности удивил.