kostenloser Webspace werbefrei: lima-city


Wordpress mod_rewrite

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    w***********2

    Hallo zusammen. :)
    Ich benutze Wordpress mit diesem Theme http://rootstheme.com/.
    Nur gibt es da ein Problem.

    Extremely clean URLs for basically everything, even with WordPress
    /wp-content/themes/roots/css/ rewrites to /css/
    /wp-content/themes/roots/img/ rewrites to /img/
    /wp-content/themes/roots/js/ rewrites to /js/
    Pretty much all WordPress generated URLs are root relative so your source isn’t filled with http://www.yoursite.com/ all over the place


    Deshalb ist es so, das anstatt domain.tld/wp-content/themes/roots/css/bootstrap.css es so aufgerufen wird: domain.tld/css/bootstrap.css

    Nun soll sie das per .htaccess regeln lassen ohne das ich die Links im Template anpassen muss. Doch wie mache ich das?

    Momentan sieht die .htaccess so aus:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /mc/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /mc/index.php [L]
    </IfModule>
    
    # END WordPress


    Grüsse, weissertiger2
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Versuch es so:
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /mc/
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /mc/index.php [L]
    
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /wp-content/themes/roots/$1 [L]
    </IfModule>
    
    # END WordPress
  4. Autor dieses Themas

    w***********2

    Schon mal danke für die Antwort. Ich hab die htaccess mal 1:1 wie du sie gepostet hast ersetzt. Scheint aber nicht zu funktionieren.

    Beitrag zuletzt geändert: 5.7.2012 21:10:14 von weissertiger2
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    weissertiger2 schrieb:
    Scheint aber nicht zu funktionieren.
    Ja schon klar...
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^mc/index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^mc/ /mc/index.php [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /wp-content/themes/roots/$1 [L]
    </IfModule>
    
    # END WordPress
    Versuch es so nocheinmal...
    Ich kann das grad nicht wirklich testen... könnte also wieder einen Fehler haben.
  6. Autor dieses Themas

    w***********2

    Funktioniert auch nicht.
    Ich verstehe aber auch nicht wie das Funktioniert. Ich nehme aber mal an, das diese Zeile für den gewünschten Effekt sorgen sollte?
    RewriteRule ^(.*)$ /wp-content/themes/roots/$1 [L]

  7. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    weissertiger2 schrieb:
    Funktioniert auch nicht.
    Kommt ein "500 Internal Server Error" oder wirst du einfach nicht weitergeleitet?
    Ich hab es jetzt grad lokal getestet und komischerweise hat es da funktioniert?

    weissertiger2 schrieb:
    Ich verstehe aber auch nicht wie das Funktioniert. Ich nehme aber mal an, das diese Zeile für den gewünschten Effekt sorgen sollte?
    RewriteRule ^(.*)$ /wp-content/themes/roots/$1 [L]
    Ja, aber nur in Verbindung mit den beiden Zeilen darüber sowie der RewriteBase ;-)
  8. Autor dieses Themas

    w***********2

    hackyourlife schrieb:
    Kommt ein "500 Internal Server Error" oder wirst du einfach nicht weitergeleitet?
    Beim Aufruf folgender URL kommt ein 404:
    http://localhost/mc/css/bootstrap.css

    Die Original URL funktioniert:
    http://localhost/mc/wp-content/themes/roots/css/bootstrap.css

    die htacces befindet sich hier:
    http://localhost/mc/.htaccess

    hackyourlife schrieb:
    Ich hab es jetzt grad lokal getestet und komischerweise hat es da funktioniert?
    Hast du es mit Wordpress und dem Roots Theme getestet? :)
    Ich selbst teste mit XAMPP. Ich denke mal der unterstützt mod_rewrite.
    Zumindest die Permalink-Struktur die Wordpress anbietet funktioniert. Und das wird - denk ich mal - auch mit der gleichen Funktion bewerkstelligt.

    Beitrag zuletzt geändert: 6.7.2012 11:05:47 von weissertiger2
  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    weissertiger2 schrieb:
    hackyourlife schrieb:
    Kommt ein "500 Internal Server Error" oder wirst du einfach nicht weitergeleitet?
    Beim Aufruf folgender URL kommt ein 404:
    http://localhost/mc/css/bootstrap.css

    Die Original URL funktioniert:
    http://localhost/mc/wp-content/themes/roots/css/bootstrap.css
    Jetzt weiß ich auc warum es bei mir im Test funktioniert hat: ich habe http://localhost/css/bootstrap.css aufgerufen ...

    Also das soll alles unter /mc liegen? Versuch es so
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /mc/
    RewriteRule ^index\.php$ - [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /mc/wp-content/themes/roots/$1 [L]
    </IfModule>
    
    # END WordPress
    Allerdings ist es jetzt so, dass wenn eine Seite nicht gefunden wird nicht mehr auf die index.php weigergeleitet wird...
  10. Autor dieses Themas

    w***********2

    hackyourlife schrieb:
    Jetzt weiß ich auc warum es bei mir im Test funktioniert hat: ich habe http://localhost/css/bootstrap.css aufgerufen ...
    Sorry, das ich vergessen habe das zu erwähnen.
    hackyourlife schrieb:
    Also das soll alles unter /mc liegen?
    Ja, momentan schon. Sobald die Seite Live ist wird sie unter einer Subdomain erreichbar sein.
    Ich weiss nicht ob es da eine gemeinsame Lösung gibt, oder ob ich dann wieder eine andere htaccess brauche?
    hackyourlife schrieb:
    Versuch es so
    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /mc/
    RewriteRule ^index\.php$ - [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /mc/wp-content/themes/roots/$1 [L]
    </IfModule>
    
    # END WordPress
    Jetzt wir mir das Theme korrekt dargestellt. Mit CSS und alles. Scheint auf den ersten Blick zu funktionieren.
    Doch nun gibt es dass Problem, das ich keine Wordpress Seiten oder Artikel mehr aufrufen kann.
    Es erscheint dann einen Internal Server Error.

    Vielleicht wäre es doch besser die Links im Theme anzupassen. Hhm, mal schauen welchen Aufwand das geben würde.

    Ich frage mich was diese hier zbs. in der htaccess stehen haben: http://www.minecraftpvp.com/hunger-games/
    Ich bin ja nicht der einzige der das Theme benutzt. Und soviel ich das verstanden habe sollte das Theme die htaccess selbst anpassen.
  11. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Also den "Internal Server Error" bekommst du dann, wenn eine "Endlosschleifenweiterleitung" entsteht die niemals auf eine existierende Datei zeigt...
  12. Autor dieses Themas

    w***********2

    Uf, du glaubst es nicht. Ein wunder ist geschehen :).
    Eigentlich wäre es ja so das dieses Theme die htaccess automatisch anpasst. Dies hat aber zu erst nie richtig funktioniert bzw. die htaccess hat sie nicht verändert.
    Also habe ich mehrmals die htaccess gelöscht und so automatisch neu erstellen lassen. Hat auch nie funktioniert.

    Was aber Funktioniert hat ist folgendes:
    Ich habe den Inhalt der htaccess gelöscht. Nicht die ganze Datei! Nun wurde sie automatisch neu generiert und ergänzt. Kling seltsam, hat so aber funktioniert. :)

    Der Inhalt sieht nun übrigens so aus falls es dich interessiert:
    http://paste42.de/3908/

    Vielen dank aber für deine Mühe :thumb:

    PS: Konnte den Code nicht direkt hier bei Lima-City posten da folgendes erschien:
    Dieser "Text" kann doch nun wirklich nicht als neuer Beitrag durchgehen, oder? Bitte kürze auf das Wesentliche, kopiere keine fremden Texte!
  13. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!