правила easyphp .htaccess - PullRequest
       13

правила easyphp .htaccess

7 голосов
/ 05 января 2012

Мне нужно переписать правила при установке easyphp на Windows 7.

Мне нужно убедиться, что правила загружены правильно, и мне не нужно создавать тонны правил.также, когда я копирую .htaccess на свой сервер (который является linux), я хочу убедиться, что он работает правильно.

У меня нет опыта с этим, и вот что я нашел, копая Интернет:

RewriteRule (.*) index.php?s=$1

сейчас, если у меня есть базовая страница, такая как «свяжитесь с нами», то все в порядке, но если у меня есть подстраницы, то нет.как я могу создать подпапки?

спасибо

1 Ответ

11 голосов
/ 05 января 2012

Вот что вам нужно сделать:

RewriteEngine On
RewriteBase /
RewriteRule ^([a-z0-9_\-]+)/?$ index.php?main=$1 [NC,L] 
RewriteRule ^([a-z0-9_\-]+)/([a-z0-9_\-]+)/?$ index.php?main=$1&sub=$2 [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] Это делает тест-регистр нечувствительным - различия между 'AZ' и 'az' игнорируются как в расширенной TestString, так и в CondPattern.Этот флаг действует только для сравнения между TestString и CondPattern.Он не влияет на проверки файловой системы и подзапроса.

[L] Флаг [L] заставляет mod_rewrite прекратить обработку набора правил.В большинстве случаев это означает, что если правило соответствует, дальнейшие правила обрабатываться не будут.

Вся информация о флагах и правилах: http://httpd.apache.org/docs/current/mod/mod_rewrite.html

...