.htaccess, перенос на lighttpd

B
На сайте с 26.01.2011
Offline
47
1528

Добрый день!

Сейчас пытаюсь один проект, изначально сделанный под apache, адаптировать под lighttpd. Процесс идет, но на пути стоит похоже важный .htaccess, который обязательно нужно переписать под lighttpd.

Текст его ниже:

<IfModule mod_rewrite.c>

Options -MultiViews

RewriteEngine On
#RewriteBase /path/to/app

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.*)/$ %1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L]

</IfModule>

C Options -MultiViews вроде бы разобрался, mod_magnet это умеет и уже есть готовый скриптик, и допустим что он работает, т.к. нет уверенности в обратном. А вот переписать реврайты для Lighttpd пока не умею.

Кто-нибудь может с этим помочь?

Также видел пару онлайн конвертеров apache->nginx, а apache0>lighttpd нету? Стало бы настоящим избавлением!

A
На сайте с 23.02.2008
Offline
84
#1

mod_magnet вам не нужен, В приведенном htaccess именно ОТКЛЮЧАЕТСЯ MultiViews, что очень правильно. В лайти такой функциональности нет по дефолту, кмк.

А обязательно lighthttpd? В nginx же все проще делается.

По теме - в первом реврайте вообще смысла не вижу - урл транслируется сам в себя, если не содержит спецсимволов (да и то можно было одной строчкой сделать).

Второе на уровне nginx делается try_files $uri /index.php?$query_string

В lighthttpd синтаксис реврайтов более извращенный, гуглить по запросу url.rewrite-if-not-file

www.diphost.ru (https://www.diphost.ru) - надежный профессиональный хостинг. Администрирование серверов.
B
На сайте с 26.01.2011
Offline
47
#2

Синтаксис более извращенный - это еще очень слабо сказано=) Словно какой-то восточный язык с иероглифами пытаешься разобрать. С удовольствием бы отказался от Лайти в сторону nginx или даже просто-напросто apache (для своих целей и задач пойдет), но как-то нецелесообразно менять веб-сервер из-за пары строчек кода, которые по идеи можно адаптировать. Если всё-таки выйдет, что нельзя и не получается - тогда придется.

Второе правило переписал как url.rewrite-if-not-file = ("^/(.*)$" => "/index.php?$1"). Результаты скромные - была 500 ошибка, стала 404=) Возможно, ошибся в синтаксисе, ну или первое правило всё же не бесполезное.

S
На сайте с 17.02.2015
Offline
24
#3

а как в .htaccess комментарий добавлять?

что-то php-код не сильно хочет работать, да и сайт после этого не очень))

lealhost
На сайте с 07.06.2014
Offline
136
#4
Sysadminer:
а как в .htaccess комментарий добавлять?
что-то php-код не сильно хочет работать, да и сайт после этого не очень))

Знаком решетки в начале строки.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий