Запрос не в имени файла

Discussion in 'PHP' started by batR, 24 Jul 2007.

  1. batR

    batR Member

    Joined:
    10 Mar 2007
    Messages:
    7
    Likes Received:
    7
    Reputations:
    0
    Как сделать чтобы запрос приходил не в виде
    Code:
    http://www.site.ru/index.php?file=myfile.rar
    а в виде
    Code:
    http://www.site.ru/myfile.rar
    Хотя самого файла в директории нет.
    Я делал следующим оразом:
    прописываю в файле .htaccess
    Code:
    ErrorDocument 404 /view.php
    а потом в viev.php смотрю какая страница была запрошена, извлекаю имя файла обрабатываю и выдаю результат, все работает на ура, только одна проблема сервер на запрос присылает в начале заголовка 404, хотя затем выдает всё что нужно, а мне нужно 200 (так как возникаю проблемы с скачиванием файлов качалками типа flashget)
     
  2. Ch3ck

    Ch3ck Elder - Старейшина

    Joined:
    9 Jun 2006
    Messages:
    1,363
    Likes Received:
    1,192
    Reputations:
    430
    Почитай про mod_rewrite...
    Пример: http://www.xnetdot.com/readarticle.php?article_id=555
     
  3. groundhog

    groundhog Elder - Старейшина

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Задай в .htaccess такую конфигурацию:

    RewriteEngine on

    RewriteCond /var/www/htdocs/%{REQUEST_URI} !-f
    RewriteCond /var/www/htdocs/%{REQUEST_URI} !-d

    RewriteRule ^(.*)$ index.php [L]

    После этого запросы всего несуществующего стаффа будут передаваться на скрипт index.php... Пути соответственно свои доставишь до DocumentRoot.