За последние 24 часа нас посетили 48385 программистов и 1729 роботов. Сейчас ищут 704 программиста ...

Вопрос по mod_rewrite

Тема в разделе "PHP для новичков", создана пользователем zevilz, 12 июл 2012.

  1. zevilz

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

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    есть url site.ru/forum/users/. При помощи mod_rewrite преобразуется в site.ru/forum/users.php. .htaccess лежит в папке site.ru/forum/
    Для данного действия прописано правило:
    Код (Text):
    1. RewriteRule /^users(\.html?|\/)?$/i userlist.php
    Вопрос: как сделать в правиле mod_rewrite чтобы url был site.ru/users/

    хочу сделать ощущение, что файл users был в корне сайта, хотя физически находится в папке /forum/. Не хочется ломать структуру форума. Или придется прописывать правило в корне сайта?
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Написать в файле .htaccess, который в корне сайта
    Код (Text):
    1. RewriteEngine On
    2. RewriteRule ^users(\.html?|\/)?$ forum/userlist.php
    Если там уже есть такой файл, то дописать в него. Если в нём уже есть строка RewriteEngine On, то дублировать не надо, дописать только вторую строку.
     
  3. zevilz

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

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    Код (Text):
    1. Sorry! The page could not be loaded.
    2.  
    3. The web server you are using is not correctly setting the REQUEST_URI variable.
    4. This usually means you are using IIS6, or an unpatched IIS7. Please either disable SEF URLs, upgrade to IIS7 and install any available patches or try a different web server.
     
  4. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Я с таким не сталкивался :) Что-то про IIS написано - у тебя MS сервер чтоль?
     
  5. zevilz

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

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    локальный linux debian. Интегрирован форум punBB
     
  6. Nick-Rash

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

    С нами с:
    29 окт 2011
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    localhost/index.php?id=16
    Файл .htaccess лежит в корневой директории.
    Как сделать, чтобы адресс был: localhost/index-16.html
    Сейчас в нем прописано:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index-([0-9]+)\.html$ index.php?id=$1
    Но ничего не происодит, в чем моя ошибка?
     
  7. Nick-Rash

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

    С нами с:
    29 окт 2011
    Сообщения:
    24
    Симпатии:
    0
    Адрес:
    Санкт-Петербург
    Проблему решил, нужно было просто привести все ссылки в index.php к виду как указано в .htaccess: ^index-([0-9]+)\.html$ index.php?id=$1