Переписать правила реврайта Apache на Lighttpd

Поддержка старых модов или модов, созданных авторами не из нашего сообщества, а также любые вопросы, связанные с модами для phpBB 3.0.x, кроме относящихся к форуму Для авторов (phpBB 3.0.x).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
arty777
phpBB 1.4.2
Сообщения: 65
Стаж: 17 лет 5 месяцев
Откуда: arty.in.ua country :)
Благодарил (а): 2 раза

Переписать правила реврайта Apache на Lighttpd

Сообщение arty777 »

Есть Rewrite Rules от Apache
Надо Rewrite Rules к Lighttpd

Кому надо денег дать?
строк - штук 15 , правила простые .

ася 8774773

или ЛС

PS чем быстрее тем лучше !
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Переписать правила реврайта Apache на Lighttpd

Сообщение nissin »

Положите здесь, делал один раз подобное.
На работе завтра утром попробую поискать.
arty777
phpBB 1.4.2
Сообщения: 65
Стаж: 17 лет 5 месяцев
Откуда: arty.in.ua country :)
Благодарил (а): 2 раза

Re: Переписать правила реврайта Apache на Lighttpd

Сообщение arty777 »

Вот апачевское:
# Lines That should already be in your .htacess
<Files "config.php">
Order Allow,Deny
Deny from All
</Files>
<Files "common.php">
Order Allow,Deny
Deny from All
</Files>

# You may need to un-comment the following lines
# Options +FollowSymlinks
# To make sure that rewritten dir or file (/|.html) will not load dir.php in case it exist
# Options -MultiViews
# REMEBER YOU ONLY NEED TO STARD MOD REWRITE ONCE
RewriteEngine On
# REWRITE BASE
RewriteBase /
# HERE IS A GOOD PLACE TO FORCE CANONICAL DOMAIN
# RewriteCond %{HTTP_HOST} !^arty\.in\.ua$ [NC]
# RewriteRule ^(.*)$ http://arty.in.ua/$1 [QSA,L,R=301]

# DO NOT GO FURTHER IF THE REQUESTED FILE / DIR DOES EXISTS
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]
#####################################################
# PHPBB SEO REWRITE RULES ALL MODES
#####################################################
# AUTHOR : dcz http://www.phpbb-seo.com
# STARTED : 01/2006
#################################
# FORUMS PAGES
###############
# FORUM INDEX REWRITERULE WOULD STAND HERE IF USED. "forum" REQUIRES TO BE SET AS FORUM INDEX
# RewriteRule ^forum\.html$ /index.php [QSA,L,NC]
# FORUM ALL MODES
RewriteRule ^(forum|[a-z0-9_-]*-f)([0-9]+)/?(page([0-9]+)\.html)?$ /viewforum.php?f=$2&start=$4 [QSA,L,NC]
# TOPIC WITH VIRTUAL FOLDER ALL MODES
RewriteRule ^(forum|[a-z0-9_-]*-f)([0-9]+)/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?f=$2&t=$4&start=$6 [QSA,L,NC]
# GLOBAL ANNOUNCES WITH VIRTUAL FOLDER ALL MODES
RewriteRule ^announces/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?t=$2&start=$4 [QSA,L,NC]
# TOPIC WITHOUT FORUM ID & DELIM ALL MODES
RewriteRule ^([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$ /viewtopic.php?forum_uri=$1&t=$3&start=$5 [QSA,L,NC]
# PHPBB FILES ALL MODES
RewriteRule ^resources/[a-z0-9_-]+/(thumb/)?([0-9]+)$ /download/file.php?id=$2&t=$1 [QSA,L,NC]
# PROFILES ALL MODES WITH ID
RewriteRule ^(member|[a-z0-9_-]*-u)([0-9]+)/$ /memberlist.php?mode=viewprofile&u=$2 [QSA,L,NC]
# USER MESSAGES ALL MODES WITH ID
RewriteRule ^(member|[a-z0-9_-]*-u)([0-9]+)/(topics|posts)/?(page([0-9]+)\.html)?$ /search.php?author_id=$2&sr=$3&start=$5 [QSA,L,NC]
# GROUPS ALL MODES
RewriteRule ^(group|[a-z0-9_-]*-g)([0-9]+)(-([0-9]+))?\.html$ /memberlist.php?mode=group&g=$2&start=$4 [QSA,L,NC]
# POST
RewriteRule ^post([0-9]+)\.html$ /viewtopic.php?p=$1 [QSA,L,NC]
# ACTIVE TOPICS
RewriteRule ^active-topics(-([0-9]+))?\.html$ /search.php?search_id=active_topics&start=$2&sr=topics [QSA,L,NC]
# UNANSWERED TOPICS
RewriteRule ^unanswered(-([0-9]+))?\.html$ /search.php?search_id=unanswered&start=$2&sr=topics [QSA,L,NC]
# NEW POSTS
RewriteRule ^newposts(-([0-9]+))?\.html$ /search.php?search_id=newposts&start=$2&sr=topics [QSA,L,NC]
# THE TEAM
RewriteRule ^the-team\.html$ /memberlist.php?mode=leaders [QSA,L,NC]
# HERE IS A GOOD PLACE TO ADD OTHER PHPBB RELATED REWRITERULES

# FORUM WITHOUT ID & DELIM ALL MODES (SAME DELIM)
# THESE THREE LINES MUST BE LOCATED AT THE END OF YOUR HTACCESS TO WORK PROPERLY
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9_-]+)/?(page([0-9]+)\.html)?$ /viewforum.php?forum_uri=$1&start=$3 [QSA,L,NC]
# FIX RELATIVE PATHS : FILES
RewriteRule ^.+/(style\.php|ucp\.php|mcp\.php|faq\.php|download/file.php)$ /$1 [QSA,L,NC,R=301]
# FIX RELATIVE PATHS : IMAGES
RewriteRule ^.+/(styles/.*|images/.*)/$ /$1 [QSA,L,NC,R=301]
# END PHPBB PAGES
#####################################################

Вот то что есть для lighttpd и работает:

"^/[a-z0-9_-]*-f([0-9]+)/[a-z0-9_-]*-t([0-9]+)(-([0-9]+))?\.html" => "/viewtopic.php?f=$1&t=$2&start=$4",
"^/announces/[a-z0-9_-]*-t([0-9]+)(-([0-9]+))?\.html" => "/viewtopic.php?t=$1&start=$3",
"^/([a-z0-9_-]*)/?[a-z0-9_-]*-t([0-9]+)(-([0-9]+))?\.html" => "/viewtopic.php?forum_uri=$1&t=$2&start=$4",
"^/newposts(-([0-9]+))?\.html" => "/search.php?search_id=newposts&start=$2&sr=topics",
"^/unanswered(-([0-9]+))?\.html" => "/search.php?search_id=unanswered&start=$2&sr=topics",
"^/the-team\.html" => "/memberlist.php?mode=leaders"
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Переписать правила реврайта Apache на Lighttpd

Сообщение nissin »

Вот что получилось (проверить негде):

Код: Выделить всё

url.access-deny = (".htaccess")

$HTTP["url"] =~ "^/config.php" {
	url.access-deny = ( "" )
}

$HTTP["url"] =~ "^/common.php" {
	url.access-deny = ( "" )
}

url.rewrite-once = (
	# FORUM INDEX REWRITERULE WOULD STAND HERE IF USED. "forum" REQUIRES TO BE SET AS FORUM INDEX
	# "^/forum\.html$"  => "/index.php",
	# FORUM ALL MODES
	"^/(forum|[a-z0-9_-]*-f)([0-9]+)/?(page([0-9]+)\.html)?$"  => "/viewforum.php?f=$2&start=$4",
	# TOPIC WITH VIRTUAL FOLDER ALL MODES
	"^/(forum|[a-z0-9_-]*-f)([0-9]+)/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$"  => "/viewtopic.php?f=$2&t=$4&start=$6",
	# GLOBAL ANNOUNCES WITH VIRTUAL FOLDER ALL MODES
	"^/announces/(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$"  => "/viewtopic.php?t=$2&start=$4",
	# TOPIC WITHOUT FORUM ID & DELIM ALL MODES
	"^/([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html$"  => "/viewtopic.php?forum_uri=$1&t=$3&start=$5",
	# PHPBB FILES ALL MODES
	"^/resources/[a-z0-9_-]+/(thumb/)?([0-9]+)$"  => "/download/file.php?id=$2&t=$1",
	# PROFILES ALL MODES WITH ID
	"^/(member|[a-z0-9_-]*-u)([0-9]+)/$"  => "/memberlist.php?mode=viewprofile&u=$2",
	# USER MESSAGES ALL MODES WITH ID
	"^/(member|[a-z0-9_-]*-u)([0-9]+)/(topics|posts)/?(page([0-9]+)\.html)?$"  => "/search.php?author_id=$2&sr=$3&start=$5",
	# GROUPS ALL MODES
	"^/(group|[a-z0-9_-]*-g)([0-9]+)(-([0-9]+))?\.html$"  => "/memberlist.php?mode=group&g=$2&start=$4",
	# POST
	"^/post([0-9]+)\.html$"  => "/viewtopic.php?p=$1",
	# ACTIVE TOPICS
	"^/active-topics(-([0-9]+))?\.html$"  => "/search.php?search_id=active_topics&start=$2&sr=topics",
	# UNANSWERED TOPICS
	"^/unanswered(-([0-9]+))?\.html$"  => "/search.php?search_id=unanswered&start=$2&sr=topics",
	# NEW POSTS
	"^/newposts(-([0-9]+))?\.html$"  => "/search.php?search_id=newposts&start=$2&sr=topics",
	# THE TEAM
	"^/the-team\.html$"  => "/memberlist.php?mode=leaders"
)

url.redirect = (
	# FIX RELATIVE PATHS : FILES
	"^.+/(style\.php|ucp\.php|mcp\.php|faq\.php|download/file.php)$"  => "/$1",
	# FIX RELATIVE PATHS : IMAGES
	"^.+/(styles/.*|images/.*)/$"  => "/$1"
)
этого не позволяют сделать средства лайти:

Код: Выделить всё

# DO NOT GO FURTHER IF THE REQUESTED FILE / DIR DOES EXISTS
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule . - [L]

Код: Выделить всё

# FORUM WITHOUT ID & DELIM ALL MODES (SAME DELIM)
# THESE THREE LINES MUST BE LOCATED AT THE END OF YOUR HTACCESS TO WORK PROPERLY
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9_-]+)/?(page([0-9]+)\.html)?$ /viewforum.php?forum_uri=$1&start=$3 [QSA,L,NC]
в принципе есть url.rewrite-[repeat-]if-not-file, но он не работает с каталогами.
arty777
phpBB 1.4.2
Сообщения: 65
Стаж: 17 лет 5 месяцев
Откуда: arty.in.ua country :)
Благодарил (а): 2 раза

Re: Переписать правила реврайта Apache на Lighttpd

Сообщение arty777 »

http://arty.in.ua/basurman-kino-y2010/
такое не работает , не получается просматривать форумы , говорит "
Произошла неизвестная ошибка.
Нет доступа к файлу."
и еще если юзать поиск , в опциях поставить "удаление подсветки" то ссылки имеют вид :
http://arty.in.ua/topic1828.html?hilit=Reanimator%20USB - тоже не пашут

а темы "http://arty.in.ua/bessmertnye-voyna-mir ... t3474.html" - прекрасно просматриваются
причем так тоже работает : "http://arty.in.ua/basurmanskoe-kino/poe ... t2990.html"

Зато теперь профиля показываются :) И еще . когда жму на список форумов - открывается портал
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Переписать правила реврайта Apache на Lighttpd

Сообщение nissin »

Код: Выделить всё

http://arty.in.ua/basurman-kino-y2010/
Как я уже писал такой rewrite на лайти сделать немного сложновато, поскольку нужен список уже имеющихся в корне форума каталогов.
Пример тут.

Код: Выделить всё

http://arty.in.ua/topic1828.html?hilit=Reanimator%20USB
попробовать добавить вот такое правило:

Код: Выделить всё

"^/([a-z0-9_-]*)/?(topic|[a-z0-9_-]*-t)([0-9]+)(-([0-9]+))?\.html\?(.+)$"  => "/viewtopic.php?forum_uri=$1&t=$3&start=$5&$6"
arty777
phpBB 1.4.2
Сообщения: 65
Стаж: 17 лет 5 месяцев
Откуда: arty.in.ua country :)
Благодарил (а): 2 раза

Re: Переписать правила реврайта Apache на Lighttpd

Сообщение arty777 »

nissin писал(а):Как я уже писал такой rewrite на лайти сделать немного сложновато, поскольку нужен список уже имеющихся в корне форума каталогов.
http://arty.in.ua/basurman-kino-y2010/ - это название форума , одного из 2-х сот форумов . Это Seo Ultimate такое делает , вы наверное подумали что это реальная папка. Нет .

"http://arty.in.ua/basurmanskoe-kino/poe ... t2990.html" - это название темы , которая находится в форуме "basurmanskoe-kino"
Аватара пользователя
nissin
phpBB 3.0.4
Сообщения: 2229
Стаж: 18 лет 9 месяцев
Откуда: Астана
Благодарил (а): 7 раз
Поблагодарили: 344 раза

Re: Переписать правила реврайта Apache на Lighttpd

Сообщение nissin »

Я правильно всё подумал.
В лайти свои особенности, и там нельзя проверить реальный это каталог или это форум на самом деле.
Но если дадите список реально существующих каталогов (помимо стандартных для phpbb), то можно попробовать сделать.
arty777
phpBB 1.4.2
Сообщения: 65
Стаж: 17 лет 5 месяцев
Откуда: arty.in.ua country :)
Благодарил (а): 2 раза

Re: Переписать правила реврайта Apache на Lighttpd

Сообщение arty777 »

nissin
Отправил в ЛС скрин с каталогами .
arty777
phpBB 1.4.2
Сообщения: 65
Стаж: 17 лет 5 месяцев
Откуда: arty.in.ua country :)
Благодарил (а): 2 раза

Re: Переписать правила реврайта Apache на Lighttpd

Сообщение arty777 »

nissin
Spasibo ! Vse poluchilos korrektno ! Temu mogno zakrivat . Na dnyah podelus resheniem v sootv teme

Вернуться в «Поддержка модов для phpBB 3.0.x»