Führer zu .htaccess und mod_rewrite
Kurzanleitung zum htaccess und mod_rewrite
Apache- "Chips" mod_rewrite und .htaccess Verwendung als etwas schwer unter den vielen enttäuscht Webmaster, aber es ist eine der schwierigsten Aufgaben , die von fast allen Web - Entwickler konfrontiert.
Ich möchte Ihnen eine einfache Lösung anbieten zu können , anstatt immer schwieriger zu finden , zu verstehen , wie die mod_rewrite und .htaccess. Die meisten Beispiele in diesem Artikel angegebenen verwenden können einfach auf den Webserver kopiert und hochgeladen werden.
Um die gleiche Sache Hunderte von anderen Webmastern nicht zu wiederholen, habe ich beschlossen, nur um diese Seite als Hinweis schaffen für die öffentliche Nutzung.
Wieder .htaccess - ist eine Konfigurationsdatei , die Sie den Apache - Webserver, mod_rewrite verwalten können - den Motor neu zu schreiben, von denen ein Web - Server die URL ändern können , wenn sie heruntergeladen werden.
.htaccess - Datei - eine Textdatei , die .htaccess gestattet. Man könnte sogar sagen, dass es eine Datei, die nur der Expansion besteht, weil es nicht die Namen der (bis zu "Punkt" Zeichen) enthält. Typischerweise wird diese Datei im Hauptstammverzeichnis Ihres Servers befindet, aber Sie können auch separate Dateien für verschiedene Verzeichnisse htaccess auf Ihrer Webseite erstellen.
Heiligsprechung
Das einfachste Beispiel -, um sicherzustellen, dass die Website enthält keine Fehler für die Heiligsprechung von der Homepage.
Viele Webmaster leiden nicht an einem sehr guten Ranking in den Suchmaschinen aufgrund der Tatsache, dass es mehrere Versionen der Homepage-URL sind, zum Beispiel:
http://www.site.com
http://site.com
http://www.site.com/index.html
http://site.com/index.html
Diese erscheinen als andere Seite URL, trotz der Tatsache, dass sie auf den gleichen Inhalt verweisen. Google entscheidet schließlich, welche Version richtig ist, aber es kann sehr lange dauern, und während dieser Zeit können Sie unnötige Probleme ficken.
Um dieses Problem zu lösen, indem Sie die folgende Zeile in die .htaccess-Datei:
Optionen + FollowSymLinks
RewriteEngine on
RewriteCond% {HTTP_HOST} ^ site.com
RewriteRule (. *) Http://www.site.com/$1 [R = 301, L]
RewriteCond% {THE_REQUEST} ^ [AZ] {3,9} \ / index \ .html \ HTTP /
RewriteRule ^ index \ .html $ http://www.site.com/ [R = 301, L]
Dieser Code ermöglicht es Ihnen, alle möglichen Optionen auf der Homepage http://www.site.com umleiten.
Die Umwandlung von HTML - Dateien in PHP
Manchmal müssen Sie PHP-Code auf der HTML-Seite statische Website zu nutzen. Anstatt alle Ihre HTML-Seiten in die entsprechenden PHP-Version umleiten, müssen Sie nur "sagen" Ihr Server muss sie die HTML-Dateien als PHP parsen.
AddHandler application / x-httpd-php .html
Dieser Code funktioniert mit allen Dateien, so dass, wenn Sie eine dynamische XML- oder ASP-Dateien erstellen möchten, wie PHP-Dateien verhalten, müssen Sie nur folgende Änderungen vornehmen:
AddHandler application / x-httpd-php .xml
AddHandler application / x-httpd-php asp
Fehlerseiten
Benutzerdefinierte Fehlerseiten können leicht angepasst werden, wie CPanel (oder Direct), aber wenn Sie die Fehlerseite durch die .htaccess-Datei anpassen möchten, fügen Sie die folgende Zeile ein:
etwaige Tippfehler Verarbeitung # 404 - Datei nicht gefunden
Errordocument 404 http://www.site.com/404.php
Die Verarbeitung etwaige Tippfehler # 403 - Zugriff verweigert
Errordocument 403 http://www.site.com/403.php
Indexing Verzeichnis
Um Roboter von Google verhindern zu indizieren das Verzeichnis , müssen Sie die Indexseite für die notwendigen Verzeichnisse zu definieren. Es ist für einige Server nicht zwingend.
Directory index.php3
Ich ziehe es eine Umleitung auf der Indexseite eines Verzeichnisses oder einer anderen geeigneten Seite zu tun. Zum Beispiel kann www.site.com/images/ zu www.site.com weitergeleitet werden, und www.site.com/forum/ können weitergeleitet werden, um www.site.com/forum/index.php~~V
Umleiten von Seiten
Ein hervorragendes Beispiel für die Verwendung htaccess einer Seite zur anderen umzuleiten:
301 umleiten /old-page.php http://www.site.com/new-page.php
Umleiten Ihren Feed Feedburner
Wenn Sie Ihren Feed Feedburner-Service wechseln möchten, müssen Sie Ihre aktuellen Feed an die neue Adresse http://feeds.feedburner.com/blog-feed umleiten.
Leiten Sie sollten für alle Besucher außer dem Roboter Feedburner gelten:
RewriteCond% {HTTP_USER_AGENT}! Feedburner
RewriteRule ^ Ihren Feed \ .xml $ http://feeds.feedburner.com/blog-feed [R, L]
Verbesserte hotlink-Schutz
Wenn Sie andere Websites direkt auf die auf Ihrer Website befindet sich Bilder beziehen verhindern wollen, aber die Suchmaschine Google, Yahoo und MSN Index ihnen zu erlauben, müssen Sie den folgenden Code verwenden:
RewriteEngine on
RewriteCond% {HTTP_REFERER}.
! RewriteCond% {HTTP_REFERER} ^ http // :? (. [. ^] + \) Site \. [NC]
RewriteCond% {HTTP_REFERER}! Google \. [NC]
RewriteCond% {HTTP_REFERER}! Search \? Q = Cache [NC]
RewriteCond% {HTTP_REFERER}! Msn \. [NC]
RewriteCond% {HTTP_REFERER} Yahoo! \. [NC]
RewriteCond% {REQUEST_URI}! ^ / Hotlinker \ .gif $
RewriteRule \. (Gif | jpg | png) $ /hotlinker.gif [NC, L]
hotlinker.gif Bild - ein Bild, das Sie erstellt haben. Ich schlage vor, mit so etwas wie "Dieses Bild ist auf www.site.com site" und Ihr Logo.
Persönlich lasse ich hotlink, sondern verwenden eine bestimmte Lösung , die verwendet Google Bilder - Service und Websites, hotlinkery auf Links zu Ihrer Website zu erhalten .
Erstellen von CNC - Links mit mod_rewrite
Apache Rewrite-Modul ist für die Umwandlung von dynamischen URL wie www.site.com/product.php?id=123 in statischen und benutzerfreundliche Art www.site.com/product/123 hauptsächlich verwendet.
RewriteEngine on
RewriteRule ^ Produkt /([^/\.]+)/?$ product.php? Id = $ 1 [L]
Ein weiteres Beispiel, das URL führt: www.yoursite.com/script.php?product=123 Geist www.yoursite.com/cat/product/123/~~V
RewriteRule Katze /(.*)/(.*)/$ /script.php?$1=$2
Entfernen von Query - Strings
Einige Seiten verlinken auf Ihre, das Hinzufügen der Abfrage-String. Zum Beispiel können Sie auf Ihre Website verweisen auf diesen Link http://www.site.com/index.php?source=seoblog verwenden, nur um zu wissen, wo Ihr Verkehr kommt. Dies bewirkt, dass das Auftreten von Duplicate Content für Ihre Website, so müssen Sie eine Umleitung auf Ihre Homepage einzurichten:
RewriteCond% {QUERY_STRING} ^ source = RewriteRule (. *) / $ 1? [R = 301, L]
Während alle. Wenn Sie etwas hinzufügen möchten , wenden Sie sich bitte kamenty in ...
Auf den meisten Webhoster installiert zwei oder mehr Versionen von PHP. Normalerweise defaul ist 4.. Doch was in der Version 5 Ihre PHP - Skripte verarbeitet würden, können Sie in der .htaccess registrieren:
AddType application / x-httpd-php5 .php
Oder Sie können statt nur .php zu jeder Dateierweiterung .php5 hinzufügen.
Dies ist der Fall , wenn Sie zu faul rediktirovat .htaccess sind.
Beispiele .htaccess - Datei Einstellungen
Während einige unserer tapferen seo "Gurus" fremden Artikel zu übersetzen, keine Links zu den Original-Artikel zu installieren stört, werde ich Ihnen eine Auswahl von Codes geben .htaccess konfigurieren.
Fast alle Produkte erforderlich, zusätzlich zu
- Umleitung und Sperrung - sie werden nach Bedarf angepasst
- sowie CNC-Setup (ChelovekoPonyatnyhURL) - in der Regel können Sie CMS-Funktionalität erhalten
Wie eine .htaccess zu schaffen?
- offene Notebook
- Code schreiben (und dann können Sie es tun
- Speichern Sie das Dokument mit dem Namen .htaccess
- füllen Sie das Site-Stamm (oder in einen Ordner auf dem Server, wo wir Anpassungen vornehmen)
* Yoursitename.ru Beispiele die Adresse Ihrer Domain ersetzen
Defaults .htaccess
1. Stellen Sie die Standard - Startseite
Directory pagename.html
2. Bestimmung der Fehlerseite (Fehler) in der .htaccess
Errordocument 403 /403.phpDementsprechend kann die Adresse und den Namen der Datei unterschiedlich sein, beispielsweise /error/page404.html
Errordocument 404 /404.php
Errordocument 500 /500.php
3. Schutz vor Hotlinking
Die Tatsache, dass der Inhalt der Seiten mit gestohlen wird, ist es nicht mehr Nachrichten. Aber es kommt vor, dass die Stange zusammen mit Bildern. Dies ist Last auf dem Server zu vermeiden, und das Blow-up-Verkehr, wir schreiben:
RewriteEngine OnWenn Sie zu einer anderen Seite wollen, anstatt 403 Fehler ein bestimmtes Bild auftritt, sollte die letzte Zeile ersetzt werden durch:
RewriteCond% {HTTP_REFERER}! ^ $
# Domains, die Bilder von Ihrer Website verweisen
RewriteCond% {HTTP_REFERER} ^ http // :! ([-a-Z0-9] \.) Yoursitename \ .ru [NC]?
# Nicht zeigen Bilder bei hotlink
. RewriteRule \ (Gif | jpe g |? Png) $ - [F, NC, L]
RewriteRule \. (Jpg | png | gif) $ Http://yoursitename.ru/images/imagename.jpg [NC, R, L]
4. Speichern Zwangs statt die Datei zu öffnen
Wenn Sie Ihre Besucher wollen prosmatra statt Online-Datei speichern es in .htaccess schreiben:
AddType application / octet-stream .doc .mov .avi .pdf .xls .mp4
5. Cache - Dateien
In Wordpress gibt es ein spezielles Plugin: wp-super-Cache. Wenn Sie auch die CMS verwendet werden, die nicht-Caching nicht unterstützt, können Sie die folgenden Einstellungen in .htaccess machen
# Cache html und htm für einen TagMax-age-Parameter wird in Sekunden angegeben.
<Filesmatch "(HTML | htm) $.">
Header gesetzt Cache-Control "max-age = 43200"
</ Filesmatch>
# Cache CSS, Javascript und txt-Dateien für eine Woche
<Filesmatch "(js | css | txt) $.">
Header gesetzt Cache-Control "max-age = 604800"
</ Filesmatch>
# Caching und Flash-Bilder für einen Monat
<Filesmatch "(flv | swf | ico | gif | jpg | jpeg | png) $.">
Header gesetzt Cache-Control "max-age = 2592000"
</ Filesmatch>
# Verbot von Caching-Skripten
<Filesmatch "\ (pl | php | cgi | spl | scgi | fcgi) $.">
Kopf ungesetzt Cache-Control
</ Filesmatch>
6. Fehler Aktivieren beim Debuggen
php_flag display_errors auf
Einrichten einer Umleitung mit .htaccess
1. 301 - Weiterleitung
Die optimale Lösung umleiten Besucher von alten zu neuen Adressen, wenn im Laufe der Zeit hat sich die Struktur der Website geändert, und die alten URLs irgendwo kann zu bleiben.
Redirect 301 /oldpage.html http://yoursitename.ru/newpage.html
Es tritt auch eine Option:
Redirect permanent /oldpage.html http://yoursitename.ru/newpage.htmlAber was ist der grundlegende Unterschied zwischen ihnen, um ehrlich zu sein, kann ich nicht erklären. Vielleicht hat jemand von den Lesern wird es zeigen.
2. Verleimung Domain mit www und nicht-www
Umleiten zu adressieren yoursitename.ru auf www.yoursitename.ru
RewriteEngine OnReverse-Umleitung
RewriteBase /
RewriteCond% {HTTP_HOST}! ^ Www.yoursitename.ru $ [NC]
RewriteRule ^ (. *) $ Http://www.yoursitename.ru/$1 [L, R = 301]
RewriteEngine On
RewriteBase /
RewriteCond% {HTTP_HOST}! ^ Yoursitename.ru $ [NC]
RewriteRule ^ (. *) $ Http://yoursitename.ru/$1 [L, R = 301]
3. 302 - Umleitung
Wenn Sie auf der Website arbeiten, können Sie vorübergehend die Besucher auf eine bestimmte Seite zu senden (zum Beispiel eine Beschreibung, wann die Arbeit abgeschlossen sein wird und wie mit Ihnen in Verbindung setzen).
RewriteEngine onDurchsuchen der Website wird nur möglich sein, mit Ihrer IP-Adresse - 12.345.678.90
RewriteCond% {REQUEST_URI}! /informpage.html$
RewriteCond% {REMOTE_HOST}! ^ 12 \ 0,345 \ 0,678 \ .90
RewriteRule $ http://yoursitename.ru/informpage.html [R = 302, L]
4. Umleiten auf eine andere Website
Umleiten alle Besucher auf eine andere Website, zusätzlich zu der angegebenen IP-Adresse
Errordocument 403 http://www.yoursitename.ru
Bestellen Sie leugnen, erlauben
Verweigern von allen
Lassen Sie von 12.345.678.90
Lassen Sie von 12.345.678.92
5. Forwarding https - Verbindungen zu sichern
RewriteEngine On
RewriteCond% {HTTPS}! On
RewriteRule Https (. *): //% {HTTP_HOST}% {REQUEST_URI}
Sperren / Sperrung mit .htaccess
1. Das Verbot der Verzeichnisliste
Es wird verwendet, wenn kein Index-Datei, wenn Sie den Zugriff auf den Inhalt des Ordners zu verweigern möchten (zB Bilder):
Optionen Alle -IndexesReverse-Code, im Sinne der Auflösung
Options + Indexes
2. Sperrung des Zugangs zu den Akten
Zum Beispiel könnte dies Ihr .htaccess sein
<Dateien .htaccess>
Um zu ermöglichen, verweigern
leugnen von allen
</ Files>
3. Sperren Sie den Zugriff auf ein Verzeichnis
Schließen nur Zugriff auf einen bestimmten Ordner
<Verzeichnis / root-Zugriff />Erlauben Sie den Zugriff nur von bestimmten IP in einem bestimmten Ordner (die Adresse durch einen Raum aufgezeichnet):
Bestellen Sie erlauben, verweigern
# Alle außer ...
ermöglichen, von allen
Verweigern von 198,69.
</ Directory>
# Geben Sie den Ordner an, die den Zugriff von Host-Namen und IP verbietenEs ist auch möglich, in einer Liste zu spezifizieren, und den Hostnamen und die IP-Adresse:
<Verzeichnis / root-Zugriff />
Bestellen Sie leugnen, erlauben
leugnen von allen
# Die Adressen werden durch den Spalt aufgezeichnet
Lassen Sie von 198.69.144.98 198.69.144.94 198.69.144.92
</ Directory>
# Geben Sie den Ordner an, die mit Namen Zugriff verbieten und IP
<Verzeichnis / root-Zugriff />
Bestellen Sie erlauben, verweigern
# Wer ...
ermöglichen, von allen
# ... Außer für den Hostnamen und IP
Verweigern von robot.fromx.com 148.145.21.14
</ Directory>
4. Blockierung von ip
Um Spammer nicht stören
<Limit GET>Sie werden gesperrt:
Deny Ordnung, zulassen
Verweigern von 12.345.678.90
Verweigern von 90.876.543.
Verweigern von .tvoe.tv
Lassen Sie von allen
</ Limit>
- Benutzer mit der IP 12.345.678.90
- Alle Besucher der ip, fällt in einen Bereich von bis zu 90876543255 90.876.543.0
- und alle Besucher von tvoe.tv Anbieter
Verweigern des Zugriffs auf bestimmte IP-Adressen
# Ban mit 16.18 31-03-2011Schließen Zugriff auf alle mit Ausnahme der angegebenen IP
Bestellen Sie erlauben, verweigern
ermöglichen, von allen
Verweigern von 198.69.132.24
Bestellen Sie leugnen, erlaubenWenn Sie die Zugriffsmaske zu schließen, die unvollständige Adresse verwenden:
leugnen von allen
# IP-Liste durch ein Leerzeichen getrennt von denen der Zugang erlaubt ist
Lassen Sie von 194.111.70.48 194.78.47.128
# Unvollständige AdresseSchließen Zugriffsmaske:
198,69.
# Voll-Adressen, die dem ersten
198.69.132.24
198.69.136.89
198.69.1.8
# Ban mit 6.18 31-03-2011
Bestellen Sie erlauben, verweigern
ermöglichen, von allen
Verweigern von 198,69.
Einstellen der CNC über .htaccess
Im Allgemeinen, wenn Sie Wordpress verwenden, dann stellen Sie die "freundliche" url, Einstellungen »Permalinks (NC). Viele CMS unterstützt auch die Adresse der Seite einstellen. Deshalb, wenn möglich, versuchen Sie zunächst den Motor Funktionalität zu verwalten, und dann gehen Sie .htaccess einzurichten.
1. So entfernen Sie Adressen aus? P =
Standardmäßig ist die Seitenadresse wie folgt: yoursitename.ru/?p=xxxx, wobei xxxx - id des Artikels.
RewriteCond% {REQUEST_URI} ^ / ([0-9] +) $
RewriteRule. * Http://yoursitename.ru/?p=%1 [R = 301, L]
2. Wie wird die Kategorie von Adressen zu entfernen
Analog zur früheren Art des Schreibens
RewriteRule ^ Kategorie /(.+)$ http://yoursitename.ru/$1 [R = 301, L]
Kommentare
im Auge kommentierte halten , dass der Inhalt und der Ton Ihrer Nachrichten , die Gefühle von echten Menschen verletzen können, Respekt und Toleranz gegenüber seinen Gesprächspartnern, auch wenn Sie Ihr Verhalten in Bezug auf die Meinungsfreiheit und die Anonymität des Internets, ändert ihre Meinung nicht teilen, nicht nur virtuell, sondern realen Welt. Alle Kommentare werden aus dem Index, Spam - Kontrolle versteckt.