пакета Денвер.правила htaccess
Мне нужно переписать правила в моей установке easyphp на windows 7.
Мне нужно убедиться, что правила загружены правильно, и мне не нужно создавать тонны правил. также, когда я копирую .htaccess на мой сервер (Линукс) я хочу убедиться, что он работает правильно.
У меня нет опыта в этом, и вот что я нашел, копаясь в интернете:
RewriteRule (.*) index.php?s=
теперь, если у меня есть базовая страница, такая как "contact-us", это нормально, но если у меня есть подстраницы, это не. как создать вложенные папки?
спасибо
1 ответов
вот что вам нужно сделать:
RewriteEngine On
RewriteBase /
RewriteRule ^([a-z0-9_\-]+)/?$ index.php?main= [NC,L]
RewriteRule ^([a-z0-9_\-]+)/([a-z0-9_\-]+)/?$ index.php?main=&sub= [NC,L]
Это позволит вам иметь такие страницы, как:
http://www.domain.com/mainpage/ or
http://www.domain.com/mainpage or
http://www.domain.com/mainpage/subpage/ or
http://www.domain.com/mainpage/subpage
/? означает, что косая черта является необязательной
[NC] это делает тестовый регистр нечувствительным-различия между "A-Z" и "a-z" игнорируются как в расширенной TestString, так и в CondPattern. Этот флаг эффективен только для сравнения TestString и CondPattern. Это не влияет на файловую систему и подзапросов проверяет.
[L] флаг [L] заставляет mod_rewrite прекратить обработку набора правил. В большинстве контекстов это означает, что если правило совпадает, дальнейшие правила обрабатываться не будут.
вся информация о флагах и правилах:http://httpd.apache.org/docs/current/mod/mod_rewrite.html