Anzeige:
Ergebnis 1 bis 5 von 5

Thema: htacces Datei für wordpress umleitung, ausgenommen Error Documents

  1. #1
    Registrierter Benutzer
    Registriert seit
    Sep 2003
    Ort
    Rostock
    Beiträge
    193

    htacces Datei für wordpress umleitung, ausgenommen Error Documents

    nabend zusammen. heute hab ich mal kurz wieder eine frage.
    ich habe auf meinem server in /var/www/ einen unterordner /wordpress.
    nun habe ich nach anleitung aus dem internet im hauptordner /var/www/ eine hataccess datei mit folgenden inhalt erstellt:

    PHP-Code:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase 
    /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond 
    %{REQUEST_FILENAME} !-d
    RewriteRule 
    . /index.php [L]
    </
    IfModule>


    # END WordPress 
    damit beim aufruf der domain automatisch alles umgeleitet wird.
    Mein Problem dabei ist: in dem /var/www/ordner liegen noch andere web seiten.
    Bisher habe ich in jedem unterordner mittels einer htaccess datei über einen Eintrag "ErrorDocument 404 /error404.html" jedes web seine eigenen error seiten definieren lasssen, wenn sich mal darin einer vertippt, dann je web seite ein erro document mit dem eigenen style/aktionen angezeigt wird.

    jetzt wird allerdings durch die htaccess datei ALLES bei tippfehlern auf die error seite umgeleitet, welche die wordpress installation selbst liefert.

    hat einer eine idee, wie man das umgehen kann und trotzdem beim aufruf der hauptdomain diewordpress inst. angezeigt bekommt (die der ordnung halber schon in einem unterordner liegen soll)
    ??
    danke für eure hilfe im voraus

  2. #2
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.819
    Klar, überlegen wir mal was du bzw. deine Anweisungen da so treiben:
    Die beiden nächsten sollten soweit klar sein (<IfModule> mal vorausgesetzt).
    RewriteEngine On
    RewriteBase /

    Dann kommt die erste "Regel":
    RewriteRule ^index.php$ - [L]

    Bedeutung ist einfach, falls jemand die index.php aufruft, dann den Request so durchlassen wie er ist (-)* und Ende ([L]).

    *
    The "-" rewrite target tells mod_rewrite to pass the request through unchanged.
    Jedenfalls macht die keinen Ärger, so viel steht fest; entspricht ja einem schreibe nichts um - der HTTP-Request wird nicht manipuliert.
    Nun folgt die nächste "Regel", die muss allerdings mindesten eine von zwei "Konditionen" erfüllen (du kannst natürlich beliebige viele "Konditionen" verwenden).

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    Nun was bedeuten %{REQUEST_FILENAME}, !-f und !-d?

    %{string} zeigt, dass wir eine Servervariable benutzen
    Server-Variables: These are variables of the form %{ NAME_OF_VARIABLE } where NAME_OF_VARIABLE can be a string taken from the following list:
    ...
    Those that are special to mod_rewrite include those below.
    => REQUEST_FILENAME:
    The full local filesystem path to the file or script matching the request, if this has already been determined by the server at the time REQUEST_FILENAME is referenced. Otherwise, such as when used in virtual host context, the same value as REQUEST_URI. Depending on the value of AcceptPathInfo, the server may have only used some leading components of the REQUEST_URI to map the request to a file.
    !:
    All of these tests can also be prefixed by an exclamation mark ('!') to negate their meaning.
    -f:
    '-f' (is regular file)
    Treats the TestString as a pathname and tests whether or not it exists, and is a regular file.
    -d:
    '-d' (is directory)
    Treats the TestString as a pathname and tests whether or not it exists, and is a directory.
    Logisch, wann immer man sich vertippt trifft eine der Konditionen zu; hier wird dann übrigens umgeschrieben - der HTTP-Request wird manipuliert.

    Du musst also nichts weiter machen, als dir passende Konditionen zu überlegen und diese dann in Regeln gießen (Doku habe ich dir verlinkt). Du könntest z.B. eine Art Whitelist von Bekannten Verzeichnissen anlegen, die an dieser Stelle von Manipulationen ausgeschlossen seien sollen und diese vor den RewriteCond Anweisungen platzieren, etwa so:
    Code:
    ...
    RewriteRule ^index.php$ - [L] 
    RewriteRule ^/bekannt1/ - [L] 
    RewriteRule ^/bekannt2/ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    ...
    Ich weiß viel Text und eigentlich hättest du alles einfach mit ein bisschen rtfm lösen oder immerhin verstehen können. Aber naja manchmal braucht man jemand der den Wald von den "Lauterbäumen" befreit


    Und nur so eine Anmerkung, vhosts sind nicht böse...
    Geändert von nopes (18.12.13 um 00:02 Uhr)
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

  3. #3
    Registrierter Benutzer
    Registriert seit
    Sep 2003
    Ort
    Rostock
    Beiträge
    193
    danke Dir für deine sehr ausführliche Antwort. Das finde ich echt klasse mit der erläuterung dazu.

    hab damit auch rum probiert. aber scheint noch nicht so zu sein, was ich benötige, denn was ja jetzt auch schon geht: ich kann einen unterordner aus /var/www/xyz ja erfolgreich aufrufen!
    zb. http://meine domain/xyz/ -> das klappt
    und es klappt auch wenn ich http://meine domain aufrufe, dass dann sofort ohne wordpress unterverzeichnisangabe die wordpress seite inklusive aller darin verweisenen links innerhalb der wordpress seite korrekt aufgerufen werden, obwohl es selbst ja im unterordner /var/www/wordpress liegt.

    was nach wie vor nicht klappt:
    http://meine domain/xyz/mein vertipper.htm --> dieser bekommt dann wieder die error seite, welche die wordpress installation für sich verwendet. ich möchte allerdings, dass die eigene .htaccess datei, welche im /var/www/xyz/ bereits liegt und nur eine angabe für eine eigene error seite (die für alles unter dem xyz ordner gelten soll) wieder beachtet wird.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Dec 2003
    Ort
    Dettenhausen
    Beiträge
    22.062
    Es müsste reichen, wenn Du über eine RewriteCond die Wordpress-.htaccess nur greifen lässt, wenn entweder der konkrete Pfad aufgerufen wird oder die Domain entsrpechend gesetzt ist.

    Alternativ - verzichte auf schöne URLS, dann kannst Du die Wordpress-.htaccess auch weglassen und alles sollte wieder laufen wie gewünscht.
    Ich bin root - ich darf das.

  5. #5
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.819
    Was auch immer hilft ist logging, sieh hier.
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

Ähnliche Themen

  1. pdf writer für samba in suse 8.0
    Von cos im Forum Anwendungen Allgemein, Software
    Antworten: 16
    Letzter Beitrag: 14.10.05, 20:34
  2. Problem beim ausführen von make
    Von Krockett im Forum Kompilieren von Kernel und Sourcen
    Antworten: 2
    Letzter Beitrag: 21.11.02, 12:17
  3. RichTextFormat (RTF) Datei in Postscript Datei umwandeln?
    Von sutterp im Forum Anwendungen Allgemein, Software
    Antworten: 6
    Letzter Beitrag: 10.09.02, 07:16
  4. ich krieg nixnistalliert!
    Von S3r!0us im Forum System installieren und konfigurieren
    Antworten: 5
    Letzter Beitrag: 08.07.02, 07:45
  5. RealMedia umleitung in Datei
    Von SupaSONiC im Forum Musik
    Antworten: 0
    Letzter Beitrag: 29.11.01, 15:19

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •