Szukaj…


Uwagi

mod_rewrite to moduł dla Apache. Ten moduł służy do wewnętrznych przeróbek (zewnętrznych żądań, które powinny załadować inny zasób) i zewnętrznych przekierowań (zewnętrznych żądań, które powinny zmienić żądanie klienta w inny adres URL).

mod_rewrite zapewnia lepszą kontrolę nad wewnętrznymi zapisami niż mod_alias , ponieważ ten ostatni może mapować żądania tylko do nazw plików. mod_rewrite zapewnia pewne środki kontroli dostępu , ale zwykle lepiej to zrobić za pomocą mod_authz_core i mod_authz_host . mod_rewrite zapewnia pewną integrację z mod_proxy , ale ze względu na wydajność ta integracja nie powinna być używana, a zamiast tego należy użyć ProxyPass i ProxyPassMatch tego drugiego modułu.

mod_rewrite można skonfigurować w sposób umożliwiający umieszczanie dyrektyw w plikach konfiguracyjnych dynamicznych (.htaccess). Ze względu na wydajność należy zawsze używać statycznego pliku konfiguracyjnego (httpd.conf), gdy tylko jest to możliwe.

Wersje

Wersja Data wydania
2.2 2015-07-17
2.4 2016-07-05

Instalacja

mod_rewrite musi być włączony przed użyciem na serwerze Apache.

Debian / Ubuntu

Uruchom a2enmod rewrite

Następnie zrestartuj Apache za pomocą service apache2 restart

Ogólna sprawa

Dodaj lub usuń komentarz z następującego wiersza w statycznym pliku konfiguracyjnym (takim jak httpd.conf ):

LoadModule rewrite_module modules/mod_rewrite.so

Następnie uruchom ponownie Apache.

Używanie mod_rewrite w statycznym pliku konfiguracyjnym

Dodaj następującą dyrektywę przed użyciem innej dyrektywy mod_rewrite (RewriteRule, RewriteCond, RewriteBase lub RewriteMap).

RewriteEngine on

Domyślnie silnik jest wyłączony. Dyrektywy mod_rewrite znalezione przy wyłączonym silniku są ignorowane. Włącz ją z poziomu wirtualnego hosta podczas korzystania z hostów wirtualnych lub z określonych kontekstów katalogu, jeśli ma to zastosowanie.

Używanie mod_rewrite z dynamicznych plików konfiguracyjnych

Ważne: Korzystanie z dynamicznych plików konfiguracyjnych (.htaccess) jest dużym hitem wydajności. Gdy masz dostęp do statycznego pliku konfiguracyjnego (httpd.conf lub coś podobnego), powinieneś go użyć.

W statycznym pliku konfiguracyjnym pozwól, aby dynamiczne pliki konfiguracyjne zastępowały „Fileinfo” za pomocą AllowOverride . Niniejsza dyrektywa musi być umieszczona w kontekście katalogu:

AllowOverride FileInfo

Nazwa pliku używana dla plików konfiguracji dynamicznej podlega dyrektywie AccessFileName . Domyślnie dynamiczne pliki konfiguracyjne to ukryte pliki o nazwie .htaccess .

U góry każdego dynamicznego pliku konfiguracyjnego zawierającego dyrektywy mod_rewrite dodaj następującą dyrektywę:

RewriteEngine on


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow