Как переделать lighttpd.conf в .htaccess?

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем Pipa Narydnaya, 20 окт 2009.

Статус темы:
Закрыта.
  1. Pipa Narydnaya

    Pipa Narydnaya Постоялец

    Регистр.:
    16 июл 2008
    Сообщения:
    67
    Симпатии:
    6
    Суть такая, стоит виртуальный сервер, надо переделать сайтик из уже имеющегося, но загвоздка в том что стоит XAMPP (дело привычки и того что много хостов на нём уже)
    Скрипту для работы требуется lighttpd но как я вижу он работает с mod_rewrite и всё, тоесть по сути заменить его как я понял можно средствами апача и .htaccess, вто теперь вопрос возник, как?

    содержимое lighttpd.conf:

    # These are my mod_rewrite rules:
    url.rewrite = (
    "^/browse$" => "/cats.php",
    "^/browse/(\d+)$" => "/browse.php?cat=$1",
    "^/browse/(\d+)/(\d+)$" => "/browse.php?cat=$1&page=$2",
    "^/recent$" => "/browse.php",
    "^/recent/(\d+)$" => "/browse.php?page=$1",
    "^/search/([^/]+)$" => "/browse.php?q=$1",
    "^/search/([^/]+)/(\d+)$" => "/browse.php?q=$1&page=$2",
    "^/s\?(.+)$" => "/browse.php?$1&redir",
    "^/details/(\d+)$" => "/details.php?id=$1",
    "^/details/(\d+)/(.+)$" => "/details.php?id=$1&q=$2",
    "^/torrent/(\d+)$" => "/torrent.php?id=$1",
    "^/about$" => "/about.php",
    "^/about\?(.+)$" => "/about.php?$1",
    "^/searchplugin$" => "/searchplugin.php",
    )

    Я попытался переделать его в .htaccess, получилось:

    DirectoryIndex index.php index.html
    Options All -Indexes
    RewriteEngine On

    ErrorDocument 404 /404.php

    # URL Rewrites
    RewriteRule ^browse(/?)+$ cats.php [L]
    RewriteRule ^browse/(\d+)(/?)+$ browse.php?cat=$1 [L]
    RewriteRule ^browse/(\d+)/(\d+)(/?)+$ browse.php?cat=$1&page=$2 [L]
    RewriteRule ^recent(/?)+$ browse.php [L]
    RewriteRule ^recent/(\d+)(/?)+$ browse.php?page=$1 [L]
    RewriteRule ^search/([^/]+)(/?)+$ browse.php?q=$1 [L]
    RewriteRule ^search/([^/]+)/(\d+)(/?)+$ browse.php?q=$1&page=$2 [L]
    RewriteRule ^s\?(.+)(/?)+$ browse.php?$1&redir [L]
    RewriteRule ^details/(\d+)(/?)+$ details.php?id=$1 [L]
    RewriteRule ^details/(\d+)/(.+)(/?)+$ details.php?id=$1&q=$2 [L]
    RewriteRule ^torrent/(\d+)(/?)+$ torrent.php?id=$1 [L]
    RewriteRule ^about(/?)+$ about.php [L]
    RewriteRule about\?(.+)(/?)+$ about.php?$1 [L]
    RewriteRule ^searchplugin(/?)+$ searchplugin.php [L]

    Работают в принципе всё за исключением самого поиска, запрос поиска формируется так:
    запрашиваем 123 при обращении будет выглядеть так _http://localhost/s?q=123
    но если ручками отписать _http://localhost/search/123/1 то как ни странно все показывает и поиск выполняет, может я что не так делаю или проблема в скриптах то подскажите какой скрипт выложить и я сделаю.

    Уже 3 дня голову ломаю, гугл на меня уже злится так как гуглил тонны инфы но всё только больше запутало.
    Подскажите плиз в чем ошибка.
     
Статус темы:
Закрыта.