.htaccess jest rozproszonym plikiem konfiguracyjnym i jest sposobem, w jaki Apache obsługuje zmiany konfiguracji na podstawie katalogu.
WordPress używa tego pliku do manipulowania sposobem, w jaki Apache obsługuje pliki ze swojego katalogu głównego i jego podkatalogów. Przede wszystkim WP modyfikuje ten plik, aby być w stanie obsługiwać ładne permalinki.
Ta strona może być używana do przywrócenia uszkodzonego pliku .htaccess (np. źle działającej wtyczki).
Podstawowy WP # Basic WP
# BEGIN WordPressRewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /index.php # END WordPress
Top
Multisite # Multisite
WordPress 3.5 and up # WordPress 3.5 and up
Jeśli aktywowałeś Multisite na WordPress 3.5 lub nowszym, użyj jednego z tych.
Subfolder Example
RewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - # add a trailing slash to /wp-adminRewriteRule ^(+/)?wp-admin$ $1wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^(+/)?(wp-(content|admin|includes).*) $2 RewriteRule ^(+/)?(.*\.php)$ $2 RewriteRule . index.php
SubDomain Example
RewriteEngine OnRewriteRule .* - RewriteBase /RewriteRule ^index\.php$ - # add a trailing slash to /wp-adminRewriteRule ^wp-admin$ wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^(wp-(content|admin|includes).*) $1 RewriteRule ^(.*\.php)$ $1 RewriteRule . index.php
Top
WordPress 3.4 i poniżej # WordPress 3.4 i poniżej
Jeśli pierwotnie zainstalowałeś WordPress z 3.4 lub starszy i aktywowałeś Multisite to musisz użyć jednego z tych:
Przykład SubFolder
WordPress 3.0 do 3.4.2
# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - # uploaded filesRewriteRule ^(+/)?files/(.+) wp-includes/ms-files.php?file=$2 # add a trailing slash to /wp-adminRewriteRule ^(+/)?wp-admin$ $1wp-admin/ RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule ^+/(wp-(content|admin|includes).*) $1 RewriteRule ^+/(.*\.php)$ $1 RewriteRule . index.php # END WordPress
Przykład SubDomain
# BEGIN WordPressRewriteEngine OnRewriteBase /RewriteRule ^index\.php$ - # uploaded filesRewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 RewriteCond %{REQUEST_FILENAME} -f RewriteCond %{REQUEST_FILENAME} -dRewriteRule ^ - RewriteRule . index.php # END WordPress
Top
Przykłady ogólne # Ogólne Examples
Top
Opcje # Options
Wszystkie opcje poprzedzone znakiem + są dodawane do aktualnie obowiązujących opcji, a wszelkie opcje poprzedzone znakiem – są usuwane z aktualnie obowiązujących opcji.
Możliwe wartości dla dyrektywy Options to dowolna kombinacja:
Nie/p>
Wszystkie opcje są wyłączone.
Wszystkie
Wszystkie opcje z wyjątkiem MultiViews. Jest to ustawienie domyślne.
ExecCGI
Wykonywanie skryptów CGI przy użyciu mod_cgi jest dozwolone.
FollowSymLinks
Serwer będzie podążał za dowiązaniami symbolicznymi w tym katalogu.
Includes
Server-side includes provided by mod_include are permitted.
IncludesNOEXEC
Server-side includes are permitted, but the #exec cmd and #exec cgi are disabled.
Indeksy
Mapy URL do katalogu, a nie DirectoryIndex, sformatowana lista katalogu.
MultiViews
Zawartość negocjowana „MultiViews” jest dozwolona przy użyciu mod_negotiation.
SymLinksIfOwnerMatch
Tylko podążaj za symbolicznymi linkami, gdy cel jest własnością tego samego id użytkownika co link.
W ten sposób wyłączymy wszystkie opcje, a następnie włączymy tylko FollowSymLinks, który jest niezbędny dla mod_rewrite.
Options NoneOptions FollowSymLinks
Top
DirectoryIndex # DirectoryIndex
DirectoryIndex ustawia plik, który Apache będzie obsługiwał, jeśli zażąda katalogu.
Można podać kilka adresów URL, w tym przypadku serwer zwróci pierwszy, który znajdzie.
DirectoryIndex index.php index.html /index.php
Top
DefaultLanguage # DefaultLanguage
DefaultLanguage spowoduje, że wszystkie pliki, które nie mają jeszcze przypisanego konkretnego tagu języka, będą używać tego.
DefaultLanguage en
Top
Default Charset # Default Charset
Ustalenie domyślnego kodowania znaków wysyłanych w nagłówku HTTP. Zobacz: Ustawianie informacji o charsetach w .htaccess
AddDefaultCharset UTF-8
Set Charset dla określonych plików
AddType 'text/html; charset=UTF-8' .html
Ustaw dla określonych plików
AddCharset UTF-8 .html
Top
ServerSignature # ServerSignature
Dyrektywa ServerSignature umożliwia konfigurację linii stopki pod dokumentami generowanymi przez serwer.generowanych przez serwer. Opcjonalnie można dodać linię zawierającą wersję serwera i nazwę hosta wirtualnego do stron generowanych przez serwer (dokumenty błędów wewnętrznych, listy katalogów FTP, dane wyjściowe mod_status i mod_info itd, ale nie dokumenty generowane przez CGI lub niestandardowe dokumenty błędów).
On
dodaje linię z numerem wersji serwera i ServerName obsługującego wirtualnego hosta
Off
wyłącza linię stopki
tworzy „mailto:” odwołanie do ServerAdmin dokumentu, do którego się odwołujemy
SetEnv SERVER_ADMIN [email protected] Email
Top
Force Files to be Downloaded # Force Files to be Downloaded
Poniższe spowoduje, że wszelkie żądania plików kończących się w podanych rozszerzeniach nie będą wyświetlane w przeglądarce, ale zamiast tego wymuszą okno dialogowe „Zapisz jako”, aby klient mógł pobrać.
AddType application/octet-stream .avi .mpg .mov .pdf .xls .mp4
Top
Kompresja HTTP # Kompresja HTTP
Dyrektywa AddOutputFilter mapuje rozszerzenie nazwy pliku do filtrów, które będą przetwarzać odpowiedzi z serwera zanim zostaną wysłane do klienta. Jest to dodatek do wszelkich filtrów zdefiniowanych gdzie indziej, włączając SetOutputFilter i AddOutputFilterByType. To mapowanie jest łączone z każdym już obowiązującym, nadpisując wszelkie mapowania, które już istnieją dla tego samego rozszerzenia.
Zobacz także: https://developers.google.com/speed/docs/insights/EnableCompression
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascriptBrowserMatch ^Mozilla/4 gzip-only-text/htmlBrowserMatch ^Mozilla/4\.0 no-gzipBrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Wymuszaj kompresję dla niektórych plików
SetOutputFilter DEFLATE
Top.
Wysyłaj niestandardowe nagłówki HTTP # Send Custom HTTP Headers
Dyrektywa Header pozwala wysyłać nagłówki HTTP dla każdego żądania, lub tylko określonych plików. Możesz zobaczyć nagłówki HTTP strony używając Firebug, Chrome Dev Tools, Wireshark lub narzędzia online.
Header set X-Pingback "http://www.askapache.com/xmlrpc.php"Header set Content-Language "en-US"
Top
Unset HTTP Headers # Unset HTTP Headers
To spowoduje usunięcie nagłówków HTTP, używając zawsze będzie starał się dodatkowo je usunąć.
Header unset PragmaHeader always unset WP-Super-CacheHeader always unset X-Pingback
Top
Password Protect Login # Password Protect Login
To jest bardzo przydatne do ochrony pliku wp-login.php
. Możesz użyć tego generatora htpasswd.
Basic Authentication
AuthType BasicAuthName "Password Protected"AuthUserFile /full/path/to/.htpasswdRequire valid-userSatisfy All
Digest Authentication
AuthType DigestAuthName "Password Protected"AuthDigestDomain /wp-login.php https://www.askapache.com/wp-login.phpAuthUserFile /full/path/to/.htpasswdRequire valid-userSatisfy All
Top
Require Specific IP # Require Specific IP
To jest sposób, aby zezwolić tylko określonym adresom IP na dostęp.
ErrorDocument 401 defaultErrorDocument 403 defaultOrder deny,allowDeny from allAllow from 198.101.159.98 localhost
Top
Protect Sensitive Files # Chroń wrażliwe pliki
To odmawia wszystkim stronom internetowym dostępu do pliku wp-config, error_logs, php.ini, i htaccess/htpasswds.
Order deny,allowDeny from all
Top
Require SSL # Require SSL
To wymusi SSL, i wymaga dokładnej nazwy hosta, w przeciwnym razie przekieruje do wersji SSL. Przydatne w /wp-admin/.htaccess
pliku.
SSLOptions +StrictRequireSSLRequireSSLSSLRequire %{HTTP_HOST} eq "www.wordpress.com"ErrorDocument 403 https://www.wordpress.com
Top