Support » Allgemeine Fragen » Unterverzeichnisse von WordPress-Zugriff ausnehmen

  • Auf meiner alten Homepage existieren noch diverse Unterverzeichnisse, in denen eigenständige Seiten liegen. Nach Installation der neuen Word-Press Homepage kann ich auf diese Unterverzeichnisse nicht mehr zugreifen, WordPress fängt alles ab. Was muss ich in die wp-config oder in die .htaccess schreiben, um einzelne Unterverzeichnisse gezielt vom WordPresszugriff auszuschliessen?

    Die Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]

Ansicht von 12 Antworten - 1 bis 12 (von insgesamt 12)
  • Die beste Lösug ist, WordPress ein eigenes Verzeichnis zu geben. Dann kannst du parallel zu WordPress diverse weitere Webanwendungen installieren oder Webseiten in anderen, von WordPress losgelösten Verzeichnissen anlegen.

    Eine weitere Option wäre, in der Konfigurationsdatei .htaccess oberhalb des Code-Blocks, den WordPress bei Einrichtung der Permalinks angelegt hat, eine zusätzliche Weiterleitungsregel hinzuzufügen:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_URI} ^/unterverzeichnis_1/(.*)$ [OR]
    RewriteCond %{REQUEST_URI} ^/unterverzeichnis_2/(.*)$ [OR]
    RewriteRule ^.*$ - [L]
    </IfModule>
    Thread-Starter tarlemmont

    (@tarlemmont)

    Wordpress liegt in einem eigenen Unterverzeichnis. Seit die Homepage aber scharf geschaltet wurde, hat sich WordPress des Root-Zugriffs bemächtigt und lässt damit auch keine Aufrufe auf losgelöste Verzeichnisse zu.

    # 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.
    <IfModule mod_rewrite.c>
    
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress

    Und was hält dich davon ab, daraus

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_URI} ^/unterverzeichnis_1/(.*)$ [OR]
    RewriteCond %{REQUEST_URI} ^/unterverzeichnis_2/(.*)$ [OR]
    RewriteRule ^.*$ - [L]
    </IfModule>
    
    # 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.
    <IfModule mod_rewrite.c>
    
    RewriteEngine On
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>
    
    # END WordPress

    zu machen?

    Thread-Starter tarlemmont

    (@tarlemmont)

    sobald ich das reinnehme, findet die WordPress-Homepage nur noch seine eigene Hauptseite, weder eigene Unterseiten, noch losgelöste Verzeichnisse. Muss innerhalb des WordPress-Parts der htaccess noch was geändert werden?

    Hm, da scheint tatsächlich etwas nicht zu stimmen.
    Ich schau mir das Morgen nochmal an.

    Ich hab jetzt auf meinem Server nochmal im WordPress-Verzeichnis ein Unterverzeichnis test angelegt und in dem Unterverzeichnis eine Datei index.php mit Inhalt <?php phpinfo(); erstellt. Die Seite kann ich auch ohne Änderungen der .htaccess oder der Permalinks aufrufen.

    Ob es geschickt ist, im WordPress-Verzeichnis außerhalb von wp-content ein Unterverzeichnis einzurichten, ist eine andere Frage. Ich würde wie gesagt lieber WordPress in ein eigenes Verzeichnis umziehen. Das ist sicherlich eine sauberere Trennung.

    Thread-Starter tarlemmont

    (@tarlemmont)

    OK, da kommen wir zu verschiedenen Resultaten – dann muss ich woanders weitersuchen, evtl gibts in WordPress oder in den Elementor-Plugins noch irgendwas, was da reinpfuscht.
    Ich habe auch mal im WordPress-Verzeichnis ein Unterverzeichnis TEST angelegt und da eine PDF eingestellt, die kann ich nicht direkt runterladen – WordPress blockt die absolute URL und sagt: „Nicht gefunden“

    Die Struktur der Homepage ist wie folgt:

    \
    \Wordpress_01
    .htaccess
    \unabhängiges Unterverzeichnis 1
    \unabhängiges Unterverzeichnis 2

    es gibt also nur die .htaccess im WordPress Unterverzeichnis. Bei Aufruf von \ greift also sofort WordPress zu – ich kann weder auf die unabhängigen Verzeichnisse noch gezielt auf Einzeldateien zugreifen.

    Ist dann nicht WordPress_01 das Web-Stammverzeichnis?
    Was ist, wenn du die Verzeichnisse verschiebst?

    
    .htaccess
    |_ WordPress_01
       |_ Unterverzeichnis_1
       |_ Unterverzeichnis_2
    

    Schön ist das sicherlich nicht.

    Thread-Starter tarlemmont

    (@tarlemmont)

    es existierte auf dieser Seite eine Homepage. Im Hintergrund wurde von einer Firma eine neue, WordPressbasierte Homepage aufgebaut, im Unterverzeichnis. Dies wurde nun vor kurzem als neue Homepage aktiviert, WordPressadresse und Websiteadresse weisen nun beide aufs Hauptverzeichnis, die Homepage funktioniert und tut so, als würde sie im Root wohnen. Und es ist egal, wo auf der Seite ich hingreife – WordPress fängt alles ab – ob im Hauptverzeichnis, ob unter dem Hauptverzeichnis oder unter dem WordPressverzeichnis.

    WordPressadresse und Websiteadresse weisen nun beide aufs Hauptverzeichnis, die Homepage funktioniert und tut so, als würde sie im Root wohnen.

    Das bedeutet, dass bei der Installation das Webstammverzeichnis geändert wurde. Das sollte sich im Kundenmenü wieder ändern lassen.

    Thread-Starter tarlemmont

    (@tarlemmont)

    Guter Tip, ich bin weitergekommen: Beim Scharfschalten der neuen Seite wurde bei Strato eine globale interne Umleitung von \ auf \WordPress_01 eingerichtet. Sobald ich diese Umleitung rausnehme, habe ich wieder Zugriff auf alles. Ich müsste jetzt wissen, wie ich im WordPress und/oder in der .htaccess die Einstellungen treffe, damit ich ohne diese globale Umleitung die neue Homepage, die in einem Unterverzeichnis installiert ist, bekomme.

    Du kannst in der wp-config.php mit einem geeigneten Code-Editor (z.B. VS Code, kostenlos für alle Betriebssysteme erhältlich) oberhalb von /* That's all, stop editing! Happy blogging. */ folgendes eintragen:

    define( 'RELOCATE', true );

    Dann solltest du dich über https://example.com/WordPress_01/wp-login.php (natürlich mit deiner Domain) einloggen können. Unter Einstellungen > Allgemein änderst du dann die beiden URLs, indem du das Verzeichnis WordPress_01 anhängst. Danach kannst du in der wp-config.php die eingefügte Zeile löschen oder auskommentieren.

    Solltest du bereits in der Installation Änderungen vorgenommen haben, musst du noch die Pfade zu den Mediendateien ersetzen. Dazu machst du ein Backup der Datenbank, installierst Better Search Replace und ersetzt damit https://example.com/wp-content mit https://example.com/WordPress_01/wp-content (auch wieder mit deiner Domain).

    In der Website kannst du dann arbeiten, bis du der Meinung bist, dass sie die alten Seiten ablösen soll. Dann änderst du in Einstellungen > Allgemein wieder die URLs (diesmal ohne Verzeichnis WordPress_01) und passt im Kundenmenü die Domain-Zuweisung wieder an.

    Möchtest du zwischendurch keine neugierigen Besucher in der WordPress-Website haben, kannst du das Plugin Password Protected installieren.

    Übrigens tauchen für Strato-Kunden immer Probleme auf, wenn im Kundenmenü in den Sicherheitseinstellungen der Gästebuchfilter aktiviert ist. Bitte prüfen und ggf. deaktivieren. Außerdem deaktiviert Strato in der One-Click-Installation wohl automatische Updates. Die Kunden sollen über das Kundenmenü aktualisieren (was ich für fragwürdig halte). Alternativ kannst du ein manuelles Update durchführen, wodurch die Änderungen von Strato überschrieben werden.

Ansicht von 12 Antworten - 1 bis 12 (von insgesamt 12)
  • Das Thema „Unterverzeichnisse von WordPress-Zugriff ausnehmen“ ist für neue Antworten geschlossen.