Das muss unbedingt in deiner .htaccess stehen!

In diesem Artikel geht es um ein sehr technisches Thema, das ich dir aber natรผrlich einfach aufbereite: die tollen Mรถglichkeiten der .htaccess Datei. In dieser Datei kรถnnen Konfigurationsanweisungen fรผr deinen Webserver hinterlegt und auf ein gewisses Verzeichnis bezogene Regeln festgelegt werden.

Das heiรŸt also, die in der .htaccess festgelegten Regeln gelten immer fรผr das Verzeichnis, in der diese Datei liegt. Im Normalfall legt man die meisten Konfigurationen in der .htaccess Datei des Hauptverzeichnisses ab, da diese fรผr diesen gesamten Ordner samt Unterordner gilt, wodurch WordPress .htaccess Regeln fรผr den gesamten Blog รผbernimmt.

Ich werde dir in diesem Artikel einige coole Codeschnipsel zeigen, mit denen du deinen Blog ganz einfach schneller und sicherer machen kannst. Diese Codeschnipsel musst du in der .htaccess deines Hauptverzeichnisses einfรผgen.

In WordPress .htaccess Dateien richtig benutzen

Bevor es los geht, muss ich dir noch ein paar Kleinigkeiten zu dieser besonderen Datei erklรคren.

Die .htaccess ist eine sehr mรคchtige Datei mit der man sehr viel gutes aber auch schlechtes anstellen kann. Trรคgst du hier etwas falsches ein, kann das dazu fรผhren, dass deine Website nicht mehr erreichbar ist.

Darum mache am besten ein komplettes WordPress Backup, bevor du loslegst!

Schutz der .htaccess

Bevor wir also loslegen, solltest du zunรคchst einmal die Dateiberechtigungen fรผr die .htaccess festlegen. WordPress schlรคgt vor (und ich kann das nur bestรคtigen), die Berechtigung 644 zu hinterlegen.

Dafรผr loggst du dich mit deinem FTP Programm auf deinem Webserver ein, machst einen Rechtsklick auf die .htaccess Datei in deinem Hauptverzeichnis, und klickst im Anschluss auf โ€žDateiberechtigungenโ€œ oder รคhnliches. Nun gibst du als Berechtigung 644 ein, und sicherst damit die Datei vor Verรคnderungen von auรŸen ab.

Standardinhalte

WordPress benรถtigt von Haus aus nur eine einzige Regel in der .htaccess um zu funktionieren. Diese Regel ist dafรผr da, dass man die URLs in WordPress รคndern kann. Das braucht man beispielsweise, um sprechende URLs zu erstellen. Dieser Eintrag sollte also bereits in deiner .htaccess stehen, wenn nicht, fรผge ihn unbedingt ein:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress

Bevor du ร„nderungen einfรผgst: Achtung!

Erstelle dir auf jeden Fall zunรคchst ein Backup der .htaccess. Das geht ganz einfach indem du per FTP die aktuelle Datei herunterlรคdst und auf deinem Computer speicherst. Sollte dann etwas schief gehen, kannst du einfach diese gespeicherte Datei wieder hochladen und die verรคnderte รผberschreiben. Schon lรคuft wieder alles rund.

Noch eine letzte Kleinigkeit bevor es endlich ans Werk geht:
Fรผge die Codeschnipsel entweder vor โ€ž#BEGIN WordPressโ€œ ein oder hinter โ€ž#END WordPressโ€œ. Ich habe die Codeschnipsel jeweils am Anfang mit einer Zeile kommentiert, damit du den รœberblick behalten kannst und weiรŸt, welcher Code welche Auswirkungen hat. Kommentare beginnen immer mit einem # und werden von Browsern nicht interpretiert sondern dienen lediglich der รœbersichtlichkeit.

Auch die .htaccess muss bei einem Seitenaufruf immer zunรคchst einmal von dem Browser geladen werden, achte also darauf, sie mรถglichst schlank zu halten und nur die Codes einzufรผgen, die du wirklich benรถtigst.

So, jetzt geht es aber los ๐Ÿ™‚

WP-admin nur fรผr ausgewรคhlte IPs zulassen

Mit diesem Schnipsel kannst du die Login Seite fรผr alle Nutzer, auรŸer die von dir eingegebenen sperren. Logischerweise kannst du damit sehr effektiv verhindern, dass sich jemand ungewolltes an der Login Seite zu schaffen macht.

Das Ganze funktioniert nur, wenn du und die anderen Benutzer eine statische IP Adresse besitzen. Bei einer dynamischen IP wird bei jedem neuen Einwรคhlen eine neue IP vergeben. Ist das bei dir oder deinen Benutzern der Fall, kannst du diesen Trick nicht anwenden.
Deine IP Adresse kannst du ganz einfach herausfinden, indem du auf ein Online-Tool wie beispielsweise www.meine-aktuelle-ip.de gehst.

In der .htaccess werden die IP Adressen der freizugebenden Nutzer eingetragen. Du musst also jeden hinzukommenden Nutzer nach seiner IP Adresse fragen, und diese mit in die .htaccess eintragen.

# Zugriff auf wp-admin nur fรผr vorgegebene IPs
order deny,allow
deny from all
allow from IPAdresse1
allow from IPAdresse2

WP-config.php fรผr alle sperren

Die wp-config.php Datei enthรคlt deine Datenbankdaten, Zugangsdaten zu WordPress und weitere, sehr sensible Daten. Damit niemand einfach in die Datei reinschauen und sich an den Daten zu schaffen machen kann, kannst du sie รผber die .htaccess sperren.

# Verbietet allen den Zugang zur wp-config
 <files wp-config.php>
 order allow,deny
 deny from all
 </files>

Verhindere, dass deine Bilder genutzt werden

Sogenanntes Image Hotlinking wird immer wieder missbraucht. Das bedeutet, dass jemand eines deiner Bilder auf seiner Website einbaut, aber รผber deinen Server abruft. Dadurch entsteht zusรคtzlicher Traffic, was die Geschwindigkeit deines Blogs beeintrรคchtigen kann. Zudem sind viele Hostingpakete auf eine gewisse Menge an Traffic pro Monat begrenzt, wodurch du durch dieses Image Hotlinking Probleme bekommen kannst.

Mit diesem Codeschnipsel in der .htaccess kannst du einstellen, dass bei dem Versuch ein Bild รผber deinen Server einzubinden, stattdessen ein von dir vorgegebenes Bild angezeigt wird.

Achtung: Dieser Code sorgt in manchen Fรคllen dafรผr, dass Bilder in RSS Readern nicht mehr angezeigt werden. Wenn du RSS nicht anbietest oder auf die Bilder verzichten kannst, ist das kein Problem. In den anderen Fรคllen fรผge den Code einfach hinzu, und รผberprรผfe, ob die Bilder nach wie vor angezeigt werden.

# Verhindert Image Hotlinking. Ersetze die letzte URL mit einem Bildlink.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?deinblog.de [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://deinbild.jpg [NC,R,L]

Browser Caching aktivieren

Jetzt gibt es zwischendurch einen kleinen Tipp zur Geschwindigkeitsoptimierung mit Hilfe der WordPress .htaccess Datei. Ich habe diesen und weitere Tipps bereits in dem Artikel โ€ž7 Tricks, wie du WordPress schneller machen kannstโ€œ vorgestellt.

Dieser etwas lรคngere Code aktiviert das sogenannte Browser Caching. Bei einem Seitenaufruf speichert ein Browser zunรคchst alle Dateien offline und zeigt sie dann an. Dadurch entsteht die Ladezeit einer Website. Durch das Browser Caching wird dem Browser erlaubt, bei dem nรคchsten Seitenaufruf einfach wieder diese bereits heruntergeladenen Dateien abzurufen, ohne sie erneut herunterzuladen.

Damit das funktioniert, wird den Browsern die maximal erlaubte Speicherdauer fรผr verschiedene Dateitypen vorgegeben. Dadurch werden nach der vorgegebenen Zeit die Dateien neu geladen, falls ร„nderungen erfolgt sind.

# Browser Caching aktivieren
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"

GZIP Komprimierung aktivieren

Wordpress .htaccess GZIP aktivieren
Die GZIP Komprimierung reduziert die Ladezeit

Noch ein zweiter Tipp fรผr die Geschwindigkeitsoptimierung deiner Website. Du kannst mit einem kurzen Codeschipsel die sogenannte GZIP Komprimierung aktivieren.

Mรถchtest du deine Website-Ladezeit optimieren, erfรคhrst du hier alles รผber die Optimierung der Ladezeit mit WP Rocket.

GZIP ist ein Webstandard um Dateien zu komprimieren. Das kannst du dir vorstellen wie ein .zip oder .rar Archiv auf deinem Computer.
Die Dateien werden so stark es geht verkleinert und dann erst durch den Browser wieder entpackt. Dadurch wird dein Blog sehr viel effizienter und schneller geladen.

Gehe nach der Aktivierung auf checkgzipcompression.com und gib die URL deines Blogs ein. Du wirst nun sehen, ob GZIP aktiviert ist und was dadurch eingespart wird.

# Aktiviert GZIP Komprimierung
 <IfModule mod_deflate.c>
 SetOutputFilter DEFLATE
 </IfModule>

Zugriffe auf .htaccess verhindern

Zusรคtzlich zu der Einstellung der Dateiberechtigungen solltest du die .htaccess mit der Hilfe der .htaccess fรผr Zugriffe von auรŸen sperren. Klingt komisch, funktioniert aber ๐Ÿ™‚

Wie schon gesagt, hat die .htaccess groรŸe Auswirkungen auf die Funktionsweise deines Blogs und kann einen Haufen Schaden anrichten. Aus diesem Grund sollte man alles dafรผr tun, sie so gut wie mรถglich zu schรผtzen.

#Zugriffe auf .htaccess verhindern
 <files ~ "^.*\.([Hh][Tt][Aa])">
 order allow,deny
 deny from all
 satisfy all
 </files>

Bestimmte Nutzer ausschlieรŸen

Spammer loswerden und Hacker ausschlieรŸen, klingt doch super oder?
Ist es auch und vor allem geht es mit der .htaccess ganz einfach.

Bei den Spamkommentaren wird dir in WordPress direkt die IP Adresse angezeigt. Fรผr Hackversuche ist es etwas komplizierter, aber trotzdem machbar an die IP Adresse zu kommen. Hierfรผr musst du entweder in die Logfiles deines Servers schauen oder mit einem Plugin wie iThemes Security arbeiten.

Die herausgefundenen IP Adressen kannst du dann alle in diesen Codeschnipsel in der .htaccess eintragen, wodurch sie keinen Zugriff mehr auf deinen Blog haben. Ersetze einfach die X mit der IP Adresse.

#Nutzer per IP ausschlieรŸen
 <Limit GET POST>
 order allow,deny
 deny from XXX.XXX.XX.X
 deny from XXX.XXX.XX.X
 allow from all
 </Limit>

301 Weiterleitungen

Wenn du deinen Blog auf eine andere Domain umziehst, komplette Artikel oder Seiten auf eine neue URL umstellst oder aus einem anderen Grund eine Weiterleitung erstellen musst, ist das in WordPress mit der .htaccess ganz einfach.

Eine 301 Weiterleitung (301 Redirect) sorgt dafรผr, dass Nutzer beim Anklicken eines Links, der auf eine alte Seite verweist, auf die neue Seite weitergeleitet wird. Das ist nicht nur fรผr deine Nutzer sondern auch fรผr Google รคuรŸerst wichtig, denn so verlierst du keine Kraft durch die Links auf deine Seite, die ohne die Weiterleitung ins Leere fรผhren wรผrden.

Hinter dem โ€žRedirect 301โ€œ trรคgst du zunรคchst die alte URL ein, machst dahinter ein Leerzeichen und setzt die neue URL dahinter.

#301 Weiterleitungen
Redirect 301 /alteseite.html http://neuewebsite.de/neueurl
Redirect 301 / http://neuewebsite.de/

Auslesen von Nutzernamen verhindern

Wusstest du, dass man deinen Nutzernamen ganz einfach herausfinden kann, indem man /?author=1 an deine Domain anhรคngt? Probiere es mal aus, WordPress leitet dich sofort auf die Autorenseite von Benutzer eins weiter. Dadurch kรถnnen Hacker deinen Nutzernamen fรผr den Login super einfach herausfinden.
Klar, damit kommen sie auch nicht weit, aber man sollte es Hackern so schwierig wie mรถglich machen.

Wenn du diesen Code in deiner .htaccess hast, wird bei der Eingabe von /?author=X die Startseite deines Blogs angezeigt.

# Verhindert das einfache Auslesen von Nutzernamen
 RewriteEngine On
 RewriteBase /
 RewriteCond %{QUERY_STRING} .*author=(.+.?) [NC]
 RewriteRule (.*) /blog/?author= [NC,L,R=301]

Hast du andere .htaccess Codes, mit denen du deinen Blog verbesserst? Kommentiere doch einfach und lass uns teilhaben ๐Ÿ™‚


Jonas Tietgen

Dein WordPress Ninja mit 10+ Jahren Erfahrung, Grรผnder von WP Ninjas und SEO Nerd.

Jonas hilft Solopreneuren, ihre WordPress Websites selber รผberarbeiten, pflegen und optimieren zu kรถnnen.

Schon seit er 14 ist, baut er Websites mit WordPress und arbeitet seit Jahren tรคglich mit WordPress. Dadurch hat er Erfahrung mit so ziemlich jedem Theme und Plugin, kennt WordPress auswendig und toppt das Ganze mit einer Liebe zu Webdesign (inklusive Webdesign-Studium) und SEO.

In รผber 120 Tutorials stellt er dir in seinem Blog sein gesamtes Wissen zur Verfรผgung, erweitert dein SEO-Wissen in seinem Search Effect Podcast, sowie dem Keyword-Magic-Workshop und unterstรผtzt dich in Coachings und รผber seinen beliebten Mitgliederbereich.

Abseits von WordPress nerdet Jonas gerne รผber Gesundheit ab, macht viel Krafttraining und weiteren Sport und baut immer wieder spannende Website-Projekte wie bambuslife.de oder wattlife.de auf.


101 Gedanken zu „Das muss unbedingt in deiner .htaccess stehen!“

  1. Hallo Jonas,

    klasse Beitrag, vielen Dank. Kรถnntest du mir noch bitte erklรคren wie Ich in der .htaccess setzen kann, dass wenn Ich statt „https://123456.de/“ „https://123456.de//“ oder https://123456.de eingeben, dass dann eine Weiterleitung auf …de/ oder …de stattfindet. Was ist denn zu Empfehlen? Lieber mit trailingslash oder besser ohne? Danke vorab und gruรŸ
    Sascha

    Antworten
  2. Hallo Jonas ein wirklich toller Artikel!

    Zu : Zugriffe auf htaccess verhindern. Wo genau gebe ich den Code welchen Du oben erwรคhnt hast ein? In die vorhandenen htaccess oder muss ich noch einmal eine neue anlegen?

    Ich mรถchte meine Login URL verรคndern. Der Login Bereich soll nicht mehr รผber domain…/wp-admin oder wp-login aufrufbar sein, sondern รผber z.B domain…/meinBereich.

    Ich habe den Login Bereich zusรคtzlich mit htacess Passwortbereich geschรผtzt.

    Nun meine Frage: gibt es einen Code fรผr die htaccess um die Login URL zu verรคndern?(Ich mรถchte kein Plugin hierfรผr nutzen).Wie wรผrde dieser lauten?Und kannn ich den htacess Passwortschutz dann trotzdem noch benutzen?

    Danke:)Und einen schรถnen 3.Advent!!!

    Viele GrรผรŸe Merrit

    Antworten
    • Hey Merrit,

      die Codes gehรถren alle in die .htaccess in deinem Hauptverzeichnis. Dort darf es nur eine geben.
      Um die URL des Loginbereichs zu verschieben, kannst du den folgenden Code in die .htaccess einfรผgen:
      RewriteRule ^admin$ http://DEINE_SEITE.com/wp-login.php [NC,L]
      Dadurch erreichst du den Login รผber /admin

      Den Passwortschutz รผber die .htaccess kannst du weiterhin nutzen, musst natรผrlich aber den Pfad anpassen auf den er zugreift.

      GrรผรŸe
      Jonas

      Antworten
  3. Danke Jonas:)

    Wenn ich den Login Bereich รผber meinbereich aufrufen mรถchte, mรผsste ich dann anstatt admin im nachfolgenden Code meinbreich eingeben?

    RewriteRule ^admin$ http:// DEINE_SEITE.com/wp-login.php [NC,L]

    Danke!!

    Antworten
  4. Hallo Jonas ich bin es noch einmal.

    Ich habe dass mit dem Code: RewriteRule ^ meinbereich$ http:// DEINE_SEITE.com/wp-login.php [NC,L] ausprobiert.

    Ich kann mich jetzt รผber meinbereich einloggen.Jedoch ist die Login URL meinewebseite…/wp-admin immer noch aktiv, wie kann ich es erreichen, dass nur meinbereich als Login url funktioniert?

    Danke!

    Antworten
  5. Hi Jonas,ich hoffe Du hattest einen guten Start ins Neue Jahr!

    zu Deinem Blogeintrag:…… Bei den Spamkommentaren wird dir in WordPress direkt die IP Adresse angezeigt. Fรผr Hackversuche ist es etwas komplizierter, aber trotzdem machbar an die IP Adresse zu kommen. Hierfรผr musst du entweder in die Logfiles deines Servers schauen ……

    Wo genau finde ich die Logfiles?
    In der Wordpress Installation รผber FTP ?

    Danke!

    Antworten
    • Hey Paul,

      Logfiles findest du in einem Ordner auf deinem Webspace. Je nach Hoster heiรŸt der Ordner unterschiedlich, manchmal sind die Logfiles sogar deaktiviert.
      Schau mal nach einem Ordner namens „Usage“ oder „Logs“

      GrรผรŸe
      Jonas

      Antworten
    • Hey,

      ich wรผrde dir empfehlen erst mal die klassischen Schritte vorzunehmen und alle Plugins / das Theme รผber FTP zu deaktivieren. Vermutlich wird eines der Plugins dieses Problem verursachen.

      GrรผรŸe
      Jonas

      Antworten
  6. Hallo Jonas,

    „Im Normalfall legt man die meisten Konfigurationen in der .htaccess Datei des Hauptverzeichnisses ab, da diese fรผr diesen gesamten Ordner samt Unterordner gilt, wodurch WordPress .htaccess Regeln fรผr den gesamten Blog รผbernimmt.“
    –> welches ist das Hauptverzeichnis? (und ja, die Frage ist selbst mir fast ein bischen peinlich)

    Viele GrรผรŸe,
    Antje

    Antworten
      • danke fรผr die schnelle Antwort… habe eben auch in einem anderem Artikel von dir gelesen, dass die htaccess automatisch erstellt wird bei der wp-installation – das hรคtte mir die Suche auch schon erleichtert ^^

        ich habe aber ein groรŸes Verstรคndnisproblem: mein Hoster ist allinkl, in der Anleitung fรผr manuelle Installation steht, dass man nach dem WP hochladen die in den Unterordner wordpress entpackten Dateien in den meinedomain.de-ordner schieben soll, also /meinedomain.de/wordpress/ zu /meinedomain.de/ —> wenn ich das so mache, ist dann /meinedomain.de/ das Hauptverzeichnis? und was soll das bringen***? Zumal, und da komm ich nicht mit, am Ende der Installationsanleitung steht, dass nach der Installation von WP unter /meinedomain.de/wordpress/ eine neue Datei namens .htaccess erstellt werden soll, die leer sein und lediglich die Zugriffsberechtigung auf 666 gestellt werden soll

        *** (reicht es nicht, im wp backend unter Einstellungen die URL entsprechend zu setzen?)

        ich hoffe, ich habe meine Frage/n halbwegs verstรคndlich formuliert

        Viele grรผรŸe,
        Antje

        PS: wenn ich wordpress im Unterordner wordpress lasse, kann man dann die config eine Ebene hรถher nach /meinedomain.de/ schieben und bringt das tatsรคchlich so wahnsinnig viel fรผr die Sicherheit? oder „reicht“ es im Prinzip, deinen Sicherheitsempfehlungen hinsichtlich der htaccess zu folgen und ist damit sicher genug?

        PPS: ich bin ganz, ganz dankbar fรผr deine Artikel. andererseits: je mehr man liest, auf umso mehr Dinge wird man gestoรŸen, von denen man noch nie was gehรถrt hat. und manchmal wรผnscht man sich die Zeiten zurรผck, in denen man die 1-Click-Installation fรผr ausreichend hielt

        Antworten
  7. Nachtrag: die Formulierung „htaccess-Datei des Hauptverzeichnisses“ … dh, fรผr jedes Verzeichnis kann eine eigene htaccess erstellt werden? ist das sinnvoll? was ist, wenn sich Anweisungen widersprechen? wird dann auf die รผbergeordnete zurรผckgegriffen?

    Antworten
  8. Hey Antje,

    also fรผr einen Laien ist die Verschiebung nicht ganz so einfach und kann einiges kaputt machen…
    Bei der Verschiebung geht es darum, dass du mehrere Installationen besser verwalten kannst und nicht durcheinander kommst.

    GrรผรŸe
    Jonas

    Antworten
  9. Hi,

    wenn man die Autorenseite per HTACCESS umleitet, betrifft das bei mir persรถnlich auch den Bulkeditor in Wordpress.
    Wenn ich normale Content-Seiten mit dem Bulkeditor bearbeiten mรถchte, werde ich auf die Hauptseite vor dem Speichern umgeleitet, da dieses Formular รผber GET arbeitet und automatisch das ?/&author=XX drin hat. Kann man das umgehen irgendwie? oder hat jemand dasselbe Phรคnomen beobachtet?

    Antworten
  10. okay, habs selbst gelรถst. Wenn man die HTACCESS um eine weitere Condition erweitert und somit das Backend ausschlieรŸt funktioniert der Bulk-Editor wieder.

    `
    # Verhindert das einfache Auslesen von Nutzernamen
    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} .*author=(. .?) [NC]
    RewriteCond %{REQUEST_URI} !/wp-admin/
    RewriteRule (.*) /blog/?author= [NC,L,R=301]
    `

    Antworten
  11. Hilfe,
    ch habe die 301 Umleitung so eingegeben wie es hier steht. Jetzt habe ich einen Umleitungsfehler und komme nicht mehr auf meine Website. Warum musste ich eine 301 Umleitung legen, weil ich solchen Ratschlรคgen nachgehe wie dieser hier.
    Verdammt, was mach ich dich denn jetzt?

    Antworten
    • Scheisse geht mir jetzt auch so.
      ich glaube von ihm brauchen wir keine Antwort zu erwarten…
      aber kann jemand anders hier helfen?

      das folgende ist das einzige was bei mir drin steht
      # BEGIN WordPress
      RewriteEngine On
      RewriteBase /
      RewriteRule ^index\.php$ – [L]
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_FILENAME} !-d
      RewriteRule . /index.php [L]
      # END WordPress

      #301 Weiterleitungen
      Redirect 301 / http://paartherapie-hamburg.info

      und ich bekomme nur eine 403 fehler angezeigt… danke. ๐Ÿ™

      Antworten
  12. Hey,

    als erstes รถffnest du die .htaccess und entfernst den Code fรผr die Umleitung. Dann lรคuft deine Seite wieder ๐Ÿ™‚
    Wenn es einen Fehler verursacht, dann stimmt irgendwas an dem Code wohl nicht…

    GrรผรŸe
    Jonas

    Antworten
  13. Korrekt eingegeben, wie hier beschrieben, verursacht der Code kein Fehler. Irgendwas muss beim Eintragen, fehlerhaft รผbertragen worden sein.

    Lรถsung: Per FTP auf den Server verbinden und die ร„nderungen wieder rรผckgรคngig machen.

    Antworten
  14. HALLO;

    Hallo,
    ich habe das dann auch so gemacht, also die htaccess geรถffnet und den Code entfernt. danach lief es wieder Vielleicht lag es an meiner defekten URL, die die Endlosschleife verursacht hat. Bevor ich SEO Yoast installiert hatte, war alles in Ordnung. Mittlerweile stimmt gar nichts mehr, die Plugins Smush it und Catchify sind ausgefallen und alles was ich bisher gemacht habe, war fรผr die Katz. Nie im Leben wรผrde ich noch einmal so was machen.Im Netz steht viel Mist und die Kommentare sind auch nicht immer echt. Ich habe gestern Abend mein Problem in der Jobbรถrse von Wordpress eingereicht und hoffe, dass die mir gegen Geld meine Seite wieder in Ordnung bringen. Den Kommis nach zu urteilen, verstehen ja alle immer alles auf Anhieb, nur ich verstehe es nicht. Sorry, war nicht bรถse gemeint, fรผhle mich nur ziemlich im Stich gelassen.

    Antworten
  15. Hallo Jonas,
    danke fรผr den tollen Artikel! Im Prinzip habe ich alles verstanden, aber eine Vorab-Frage, um ganz sicher in der richtigen .htaccess-Datei die Verรคnderungen vorzunehmen:
    Ich verfรผge รผber 4 Domains. Ist gemeint, dass ich die Modifizierungen jeweils in der .htaccess-Datei der einzelnen Domains vornehme

    (- in diesen finde ich auch die von Dir angegebene „Grundregel“:

    # BEGIN WordPress
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    # END WordPress
    allerdings am Beginn steht zusรคtzlich: -)

    oder in der .htaccess-Datei die ich im Ordner „logs“ finde

    (- dort finde ich aber eine andere „Regel“, nรคmlich – hier ohne die exakten Zahlen:

    Options +Indexes
    RemoveHandler .html
    RemoveType .html
    AddType text/html .html
    Satisfy any
    Order Deny,Allow
    Allow from xxx.xxx.xxx.xxx
    Deny from all
    AuthType Basic
    AuthName „Access to /logs“
    AuthUserFile /kunden/homepages/xx/xxxxxxxx/htpasswd
    Require user xxxxxxxx )
    ???

    Zusatz-Info: Im Ordner „logs“ findet sich in der .htaccess-Datei unter Dateiberechtigungen der numerische Wert 644, in den .htaccess-Dateien der 4 Domains immer der Wert 604! „Ergoogelt“ habe ich dazu, dass 644 bzw. 604 eingesetzt werden soll – wie siehst Du das (- und was ist der Unterschied zwischen 644 und 604? -)?

    Liebe neugierige und fragende GrรผรŸe!
    Marie

    Antworten
    • Hallo Jonas,
      als 1. muss ich um Entschuldigung bitten, denn durch eine Unachtsamkeit habe ich meine Anfrage unvollstรคndig gesendet … trotzdem hast Du die wesentliche Frage geklรคrt – vielen, vielen Dank – nรคmlich, dass jede Domain einzeln bedient werden darf/kann/muss …

      Dazu noch die ergรคnzende Frage:

      In meiner .htaccess-Datei entspricht der Text Deiner Vorgabe, es existiert aber eine eingeschobene 2. Zeile:

      # BEGIN WordPress

      Was bedeutet diese Zeile? (Ist wohl OK … oder?)

      Und in der Dateiberechtigung finde ich den Wert 604 (nicht wie von Dir vorgeschlagen 644) – โ€žergoogeltโ€œ habe ich dazu, dass 644 oder 604 eingesetzt werden soll/kann โ€“ wie siehst Du das (- und was ist der Unterschied zwischen 644 und 604? -)?

      Und, neu, eine letzte Frage: Alle von Dir vorgeschlagenen Befehle in diese schon vorhandene .htaccess-Datei eintragen – also niemals weitere .htaccess-Dateien anlegen, um mehrere, schlanke .htaccess-Dateien zu haben???

      Nochmals herzlich fragende GrรผรŸe!
      Marie
      Marie

      Antworten
  16. aha, jetzt habe ich meinen Anfrage noch einmal gelesen, aber die eingeschobene Zeile wird nicht angezeigt – aha, weil ein html-Code (das war wohl auch bei der ersten Anfrage der Fall!) – ich versuche es nun so:
    spitze Klammer auf – IfModule mod_rewrite.c – spitze Klammer zu
    HG Marie

    Antworten
  17. Hallo Jonas, toller Beitrag. Vor allem zum Thema Sicherheit.

    Kennst du einen Befehl der alle http:// www Anfragen auf https ohne www weiterleitet?

    Irgendwie finde ich da nichts richtig gutes ๐Ÿ™ danke dir!

    Antworten
  18. Hallo Jonas,
    vielen Dank fรผr den hilfreichen Artikel!
    Ich mรถchte gerne eine 404er Seite ausgeben lassen, wenn die URL nicht mehr vorhanden ist. Bisher wird immer auf die Startseite weitergeleitet. Muss ich das nicht auch in der .htaccess deklarieren? Und wenn ja, was genau mรผsste ich denn eintragen?

    Viele GrรผรŸe
    Becca

    Antworten
  19. Hallo Jonas,
    das Problem ist gelรถst ๐Ÿ™‚ Sobald man anderen davon berichtet, fรคllt einem plรถtzlich auf, wo der Fehler liegt ๐Ÿ˜€
    Vielen Dank, dass ich es hier loswerden konnte und viele GrรผรŸe
    Becca

    Antworten
  20. Danke fรผr den Beitrag. habe ihn schon lรคnger in meiner Leseliste gehabt, aber es war nie Zeit dafรผr. Nachdem ich aber diese Woche mit meinem Blog an den Start gegangen bin werde ich die .htaccess morgen gleich mal Bearbeiten. Vorallem das mit dem Benutzernamen hat mich etwas schockiert weil ich extra keinen typischen gewรคhlt habe, damit man ihn nicht leicht erraten kann. Das war natรผrlich nur bedingt sinnvoll wenn man ihn doch so leicht auslesen kann. :-O

    lg
    manu

    Antworten
  21. Hallo Jonas, oder auch andere
    WordPress-Spezialisten…

    Ich habe auf einer WordPress-Seite den wp-Admin Bereich per htaccess geschรผtzt. Leider kann ich jetzt keine passwortgeschรผtzten Unterseiten mehr verwenden, da ich immer nach meinem htaccess Passwort gefragt werde.
    Wie kรถnnte ich die htaccess so konfigurieren, dass trotzdem passwortgeschรผtzte Bereiche mรถglich sind?

    Danke im Voraus, alex

    Antworten
  22. Hallo Jonas, simpel und doch schwierig…
    ich wollte meine admin Seite serverseitig schรผtzen, d.h. durch eben die .htaccess.
    Auf meiner Seite befinden sich jedoch passwortgeschรผtzte Bereiche (nichts hochdramatisches, aber doch schรผtzenswert)
    Nun war es so, dass bei jedem Aufruf der durch WP passwortgeschรผtzten Seite auch das htpasswd gefragt wurde und wird.
    Dafรผr gibt es prinzipiell keine Lรถsung…
    AuรŸer mit einem Passwort Plugin, welches ich jetzt fรผr die Inhalte auf der Seite verwende,
    gefรคllt mir richtig gut: โ€žpasssterโ€œ

    LG Alex

    Antworten
  23. Danke fรผr den g-zip-Tipp: trotz aktivierter Einstellung in ยซWP-Fastest Cacheยป hat das mit g-zip erst durch Deine Ergรคnzung in der htaccess-Datei funktioniert.

    I feel Blessed!

    Olaf

    Antworten
  24. Hallo Jonas,
    sehr schรถn erklรคrt und fรผr den Anfรคnger auch nachvollziehbar. Danke dafรผr!
    Ich wollte meine Webseite nach Deiner Erklรคrung so schรผtzen, dass man den Nutzernamen nicht mehr „auslesen“ kann. Also in der htaccess die folgenden Daten eingeben:
    # Verhindert das einfache Auslesen von Nutzernamen
    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} .*author=(.+.?) [NC]
    RewriteRule (.*) /blog/?author= [NC,L,R=301]

    habe es auch so vorgenommen (nachdem ich die htaccess zur Sicherheit fรผr mich kopiert habe) dann lies sich die Homepage aber nicht mehr aufrufen, und eine Fehlermeldung war das Ergebnis.
    Schade eigentlich.
    Was habe ich falsch gemacht?
    Danke fรผr die Hilfe
    LG Maria-Anne

    Antworten
  25. Weil ich selbst lange gesucht habe und nichts gefunden hatte:

    Alle, die den Ordner „wp-admin“ mit einem zusรคtzlichen Passwortschutz via htaccess versehen sollten den Zugriff auf „admin-ajax.php“ gewรคhren mit

    Order allow,deny
    Allow from all
    Satisfy any

    da sonst ajax nicht funktioniert und auรŸerdem in den Unterordner „js“ ebenfalls eine htaccess packen mit:

    Order allow,deny
    Allow from all
    Satisfy any

    Sonst bekommen eventuell WooCommerce-Kunden oder andere Nutzer im Blog auf Seite „my-account/edit-account“ eine ungewollte Passwortabfrage.

    GrรผรŸe
    Max

    Antworten
  26. Hallo,
    Danke fรผr die wertvollen Tipps.
    Gerne wรผrde ich das Auslesen von Nutzernamen verhindern. Habe dazu Deinen Code in der .htaccess eingetragen und es funktioniert soweit.

    Allerdings funktioniert nun das WordPress-Werkzeug „Daten exportieren“ (wp-adim/export.php) nicht mehr.

    In der Adresszeile im Browser erscheint […]“/blog/?author=“ und meine 404-Seite. Ich erhalte keine Download-Datei mehr.

    Gibt es dafรผr eine Lรถsung?
    GruรŸ
    Will

    Antworten
  27. Hallo,

    wird die .htaccess bei jeder WordPress Aktualisierung auch รผberschrieben oder bleiben die Konfigurationen erhalten?

    Vielen Dank und schรถne GrรผรŸe
    Sarah

    Antworten
      • Vielen Dank, Jonas, fรผr die schnelle Antwort.

        Ich hรคtte noch einen Vorschlag fรผr deinen Artikel:
        รœber die .htaccess kann man ja auch die Schnittstelle XMLrpc deaktivieren, รผber die ja anscheinend auch viele Hacker einfallen.
        Vorausgesetzt man benutzt diese Schnittstelle nicht.

        Ich hรคtte folgenden Code verwendet:

        order allow,deny
        deny from all

        Und ist es wichtig in welcher Reihenfolge die Code-Snippets in der .htaccess stehen? (Abgesehen davon dass es hinter dem WP-Teil steht)

        Antworten
  28. Hallo. Evlt. kannst Du mir helfen. Ich stehe vor einem Providerwechsel da u.a. meine php-Version veraltet ist und ich nicht mehr WP updaten kann. Mein WP liegt in einem Unterverzeichnis geschรผtzt mit einer htpasswd. Den Umzug an sich werde ich soweit hinkriegen. Nur die htaccess im Rootverzeichnis gibt mir ein Rรคtsel auf. Dort steht in der ersten Zeile FCGIWrapper /home/www/username/fcgid/php54-fcgid .php. Kann ich das lรถschen oder wie gehe ich damit um in meiner neuen Serverlandschaft.

    Antworten
  29. Hi zusammen,

    ich finde echt keine Lรถsung oder ich รผbersehe einfach mein Problem. Die Seite hat natรผrlich https:// – und sollte immer umgeleitet von http:// auf https:// – aber das lรคuft nicht. Die Startseite und alle Unterseiten sind weiterhin รผber http:// zu erreichen – was lรคuft da falsch in der .htaccess… kรถnntet Ihr mir helfen…

    Danke!

    # BEGIN WordPress
    # Die Anweisungen (Zeilen) zwischen `BEGIN WordPress` und `END WordPress` sind
    # dynamisch generiert und sollten nur รผber WordPress-Filter geรคndert werden.
    # Alle ร„nderungen an den Anweisungen zwischen diesen Markierungen werden รผberschrieben.

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    # END WordPress
    # BEGIN WP-Optimize Gzip compression

    # Compress HTML, CSS, JavaScript, Text, XML and fonts
    AddType application/vnd.ms-fontobject .eot
    AddType font/ttf .ttf
    AddType font/otf .otf
    AddType font/x-woff .woff
    AddType image/svg+xml .svg

    AddOutputFilterByType DEFLATE application/javascript
    AddOutputFilterByType DEFLATE application/rss+xml
    AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
    AddOutputFilterByType DEFLATE application/x-font
    AddOutputFilterByType DEFLATE application/x-font-opentype
    AddOutputFilterByType DEFLATE application/x-font-otf
    AddOutputFilterByType DEFLATE application/x-font-truetype
    AddOutputFilterByType DEFLATE application/x-font-ttf
    AddOutputFilterByType DEFLATE application/x-font-woff
    AddOutputFilterByType DEFLATE application/x-javascript
    AddOutputFilterByType DEFLATE application/xhtml+xml
    AddOutputFilterByType DEFLATE application/xml
    AddOutputFilterByType DEFLATE font/opentype
    AddOutputFilterByType DEFLATE font/otf
    AddOutputFilterByType DEFLATE font/ttf
    AddOutputFilterByType DEFLATE font/woff
    AddOutputFilterByType DEFLATE image/svg+xml
    AddOutputFilterByType DEFLATE image/x-icon
    AddOutputFilterByType DEFLATE text/css
    AddOutputFilterByType DEFLATE text/html
    AddOutputFilterByType DEFLATE text/javascript
    AddOutputFilterByType DEFLATE text/plain
    AddOutputFilterByType DEFLATE text/xml

    # Remove browser bugs (only needed for really old browsers)
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4\.0[678] no-gzip
    BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
    Header append Vary User-Agent

    # END WP-Optimize Gzip compression

    Antworten
  30. Super Veranschaulichung, wie man die wp-config zusรคtzlich sichern kann. Und auch sollte! ๐Ÿ™‚

    Ich finde die Sicherheit bei WordPress ist enorm wichtig geworden. Gerade weil WordPress immer beliebter wird, nicht nur bei Blogs. Es wird also auch fรผr Angreifer beliebter ๐Ÿ˜‰

    Antworten

Schreibe einen Kommentar

46 Plugins & Tools, dank denen ich 20.000 Besucher monatlich bekomme!

Das WordPress Toolkit kostenlos für dich

Abonniere meine exklusiven WordPress Tipps, News und mein Experten-Wissen, das ich sonst nirgends teile!

 

...und sichere dir das WordPress Toolkit kostenlos!

Nach der Begrüßungsmail kommen die E-Mails im Normalfall 1x / Woche. Du kannst dich natürlich jederzeit abmelden und bekommst keinen Spam! Datenschutz

46 Plugins & Tools, dank denen ich 20.000 Besucher monatlich bekomme!

Das WordPress Toolkit kostenlos für dich

Abonniere meine exklusiven WordPress Tipps, News und mein Experten-Wissen, das ich sonst nirgends teile!

 

...und sichere dir das WordPress Toolkit kostenlos!

Nach der Begrüßungsmail kommen die E-Mails im Normalfall 1x / Woche. Du kannst dich natürlich jederzeit abmelden und bekommst keinen Spam! Datenschutz