/category/ aus URL entfernen?

  • Irgendwie fällt mir grade jetzt erst auf, dass in den URLs der Kategorien das URL-Segment "/category/" enthalten ist, bevor noch die Kategoriebezeichnung kommt.

    Kann ja wohl nicht sein? Das ist ja völlig unnötig. Kann man das irgendwie auf einfachweise wegbekommen?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Optionen > Permalinks.

    Ja, das dachte ich auch, dass ich das dort machen kann.

    Unter "custrom structure" habe ich das drin: /%postname%/

    Und in der .htaccess das:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    das muss in den Scripten stecken. Aber such mal mit der Dreamweaver-Suche nach "category", da heisst bald jedes zehnte Wort so....:cry:

  • Bei category base hast du natürlich nicht geschaut....


    Nö, woher weißt du? :mrgreen:

    Also da steht bei mir überhaupt nix drin. Ich bin mir nur nicht mehr sicher, ob das standardmäßig so war, oder ob ich da schon was rausgelöscht habe....:-?

  • Also das scheint ja schonmal in die richtige Richtung zu gehen.

    Schritt 1 und Schritt 2 in der classes.php habe ich durchgeführt, aber ich bekomm nen Fehler 404, wenn ich in die Kategorien gehe.....

    Einmal editiert, zuletzt von saltletts (28. September 2006 um 22:24)

  • Jungs lasst mich nicht hängen. Ich kann nur noch ne Hand breit von einem funktionierenden Endergebnis weg sein.

    Ich habe Schritt 1 und Schritt 2 in classes.php ausgeführt (dachte zuerst Schritt 2 wäre für die htaccess). Aber jetzt isses richtig.

    Das URL-Segment "category/" wird nun nicht mehr angezeigt, aber wenn ich die Kategorien anklicke, kommt der Fehler 404.

    Ist es möglich, dass im Adminbereich unter:

    Options --> Permalinks --> Bereich "Optional" --> in dem Feld "Category Base"

    was drin stehen muss? Und wenn ja was?

    Es ist denkbar, dass ich bei meinen ersten Versuchen evtl. enthaltene Bezeichner die dort drin standen entfernt habe, weil ich dachte das sei die Lösung. Kann es sein, dass "ohne" diese Inhalt, die Scriptänderung von classes.php nicht mehr funktioniert? :cry:

    Solange baue ich die Änderungen wieder zurück, damit Besucher nicht denken, meine Seite sei kaputt.....

  • Bin jetzt nochmal einen Schritt weiter:

    1.) Diesen Schritt 1 aus dieser Anleitung muss man gar nicht ausführen, es reicht wenn man im Adminbereich in das Feld "category base" den Eintrag: [COLOR=Red]/. [/COLOR]macht.

    2.) Den Schritt 2 aus der Anleitung kann man so nicht direkt übernehmen, da er wohl für Wordpress 1.5 geschrieben wurde. In der Anleitung sieht die ursprüngliche Zeile die bearbeitet werden muss so aus:

    PHP
    $this->rules = $page_rewrite + $root_rewrite +
                   $comments_rewrite + $search_rewrite +
                   $category_rewrite + $author_rewrite +
                   $date_rewrite + $post_rewrite;


    bei Wordpress 2.04 sieht diese Ursprungszeile anders an, nämlich so:

    PHP
    $this->rules = array_merge($page_rewrite, $root_rewrite, $comments_rewrite, 
                   $search_rewrite, $category_rewrite, $author_rewrite,   
                   $date_rewrite, $post_rewrite);


    und das ganze Geheimnis soll ja angeblich daran liegen, dass man die Rewrite-Regel für die Kategorien, aus dem mittleren Bereich rausnimmt und "hinten" anhängt, das sähe dann so aus:

    PHP
    $this->rules = array_merge($page_rewrite, $root_rewrite, $comments_rewrite, 
                   $search_rewrite, $author_rewrite,  $date_rewrite, 
                   $post_rewrite, $category_rewrite);


    und was passiert jetzt?

    - Die selbst angelegten Unterseiten können aufgerufen werden, URLs ok
    - Die Artikel können von der Startseite aus aufgerufen werden, URLs ok
    - Die Kategorien werden nun mit der richtige URL aufgerufen (ohne "category"), aber es entsteht der Fehler 404

    Jetzt bin ich wirklich mit meinem Latein am Ende :-(
    Habt ihr denn das alle mit dem "category"-Segment so gelassen, oder geht bei euch mit der Änderung alles oder wie?

    Einmal editiert, zuletzt von saltletts (29. September 2006 um 17:07)

  • hab gesehen, das du noch nicht weiter bist!
    Hab das ganze eben auf meinem neuen Blog gemacht,

    zuerst wie von Jörg Petermann beschrieben in der ../wp-includes/classes.php Datei ändern.

    Muß so aussehen:

    Zitat

    if (empty($this->category_base))
    $this->category_structure = $this->front . '';
    else
    $this->category_structure = $this->category_base . '/';

    Anschließend habe ich meine .htaccess Datei geleert bzw eine leere .htaccess Datei hochgeladen und dann erneut unter Optionen - Permalinks erneut benutzerdefiniert ändern.

  • hab gesehen, das du noch nicht weiter bist!
    Hab das ganze eben auf meinem neuen Blog gemacht,

    zuerst wie von Jörg Petermann beschrieben in der ../wp-includes/classes.php Datei ändern.

    Muß so aussehen:


    Anschließend habe ich meine .htaccess Datei geleert bzw eine leere .htaccess Datei hochgeladen und dann erneut unter Optionen - Permalinks erneut benutzerdefiniert ändern.


    Es geht nicht. Meine .htaccess sieht jetzt nicht anders aus wie vorher auch....

  • So jetzt geht. Und ihr werdet nicht glauben warum

    Ich habe den Schritt 2 aus dieser Anleitung weggelassen. Ich habe diese Zeile wieder in den Ursprungszustand versetzt......:confused:

    Schritt 1 musste ich ausführen klar...

    [NACHTRAG]
    Ne muss passen. Hab mich vertan. Weil ich mich so sehr auf die Kategorien konzentriert habe beim ausprobieren, ist mit total entgangen, dass jetzt die Artikel nicht funzen.....

    Einmal editiert, zuletzt von saltletts (1. Oktober 2006 um 14:26)

  • Kann es eigentlich sein, egal was ich im Adminbereich bei den Permalinks eingeben in die Datenfelder, dass der Code für die htaccesss immer derselbe ist?

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    Einmal editiert, zuletzt von saltletts (1. Oktober 2006 um 14:27)

  • ob der Code in der htaccesss immer derselbe ist weiß ich nicht,
    ich habe den Code selbst nicht geändert.

    die htaccesss Datei wird ja automatisch beschrieben

  • ob der Code in der htaccesss immer derselbe ist weiß ich nicht,
    ich habe den Code selbst nicht geändert.

    die htaccesss Datei wird ja automatisch beschrieben

    So, ich bin jetzt endlich mal drauf gekommen, dass man da erst noch was an den Berechtigungen der .htaccess machen muss, damit das Script die Änderungen "direkt" und selbst durchführen kann. Das Problem ist nur, dass Dreamweaver die (endgültige) .htaccess gar nicht erkennt, das heißt man kann sie auch nicht bearbeiten. Mit "endgültiger Form" meine ich, wenn den Namen von htaccess.shorturl in .htaccess geändert hat (wodurch sie ja erst ihre Funktion erhält). Mit Wise-FTP genau dasselbse, und irgendwann hat mir mal Jemand den Tip mit SmartFTP gegeben, damit gehts.

    Allerdings bin ich zu dem Ergebnis gegekommen, das der Inhalt eigentlich nicht grossartig von der "manuellen" Version abweicht. Bis auf die Textvermerke eigentlich gar nicht:

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

    Mit anderen Worten auch im Ergebnis hat sich nichts geändert, ich kann meine Kategorien nicht aufrufen, wegen 404-Fehler.

    Nochmal zur Wiederholung, die classes.php sieht an den entsprechenden Stellen so aus:

    if (empty($this->category_base))
    $this->category_structure = $this->front . '';
    else
    $this->category_structure = $this->category_base . '/';

    und:

    $this->rules = $page_rewrite + $root_rewrite + $comments_rewrite + $search_rewrite + $author_rewrite + $date_rewrite + $post_rewrite + $category_rewrite;


    Also eigentlich kann man da ja nix falsch machen? :-(

    Einmal editiert, zuletzt von saltletts (2. Oktober 2006 um 09:48)

  • genau, wobei ich sogar diesen Schritt vergessen habe:

    Zitat

    und:

    $this->rules = $page_rewrite + $root_rewrite + $comments_rewrite + $search_rewrite + $author_rewrite + $date_rewrite + $post_rewrite + $category_rewrite;

    Schritt2:
    bestehende .htaccess vom Server löschen.
    eine neue, leere .htaccess per ftp server hochladen und ganz wichtig schreibrechte chmod777 geben!

    Schritt3:
    unter Optionen - Permalinks erneut benutzerdefiniert ändern.

    Nun wurde die .htaccess Datei erneut automatisch von WP beschrieben und es sollte funzen :-)
    category ist weg....

    so, besser kann ich es leider nicht beschreiben.

  • genau, wobei ich sogar diesen Schritt vergessen habe:

    Schritt2:
    bestehende .htaccess vom Server löschen.
    eine neue, leere .htaccess per ftp server hochladen und ganz wichtig schreibrechte chmod777 geben!

    Schritt3:
    unter Optionen - Permalinks erneut benutzerdefiniert ändern.

    Nun wurde die .htaccess Datei erneut automatisch von WP beschrieben und es sollte funzen :-)
    category ist weg....

    so, besser kann ich es leider nicht beschreiben.

    Also ich werde noch wahnsinnig. Es geht einfach nicht. Wenn ich den Schritt 2 nicht so ändere wie das beschrieben wurde, also so lasse wie er ist, dann werden die Kategorien gefunden und angezeigt, aber dafür dann die Artikel selbst nicht.

    Wenn ich den Schritt 2 ändere, wie er in der Anleitung steht, dann werden die Artikel wieder gefundenm, aber dafür gehen dann die Kategorien nicht mehr (404-Fehler), obwohl die URL positiverweise so angezeigt wird, wie sie aussehen sollen.

    Ich hab definitiv die alte .htaccess vorher gelöscht, und die neue "leer" und "beschreibbar" gemacht, so blond bin ich dann wirklich nicht.

    Aber es funzt nicht, kann doch nicht sein man......:cry:

    Im Adminbereich habe ich unter: Custom structure = /%postname%/ drin
    und unter: Category base: gar nichts

    Der Inhalt der .htaccess ist immer noch derselbe, hab ich grad überprüft....

    Einmal editiert, zuletzt von saltletts (2. Oktober 2006 um 13:01)

  • probiere es mal mit: /%year%/%monthnum%/%day%/%postname%/


    Das ist eigenartig:

    Wenn ich einen Artikel aufrufe (funktioniert), dann lautet die URL so vom Prinzip her:

    http://www.site.de/2006/09/30/artikel-titel/

    Rufe ich eine Kategorie auf (funktioniert jetzt auch), dann sieht das so aus:

    http://www.site.de/category/kategorie-name/

    Und da kann man mir jetzt sagen was man will, irgendwo im Script baut der hier das "/category" wieder dazwischen, und deshalb läuft auch die Linkumschreibung ins Leere (404-Fehler), obwohl ich die Änderung korrekt durchführe....

  • Ne sorry, war mein Fehler. Musste erst die classes.php wieder umbauen. Bin schon ganz wischiwaschi vor lauter hin- und her. Sieht so aus.

    http://www.site.de/kategorien-name/

    Jetzt kommt aber wieder der 404-Fehler.

    Und das sollte meine Theorie was den Fehler im Script betrifft bestätigen. "Mit" /category findet es die Kategorien, und "ohne" offensichtlich nicht. Anscheinend wird im Script das /category erwartet, wo es nach dem Entfernen aus $this->category_structure = $this->front . ''; aber nicht mehr ist.....

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!