Mod Rewrite 1.5.0 RC5

Please report bugs here!

Moderator: Thorsten

jr-ewing
Posts: 37
Joined: Sun Jul 10, 2005 6:52 pm
Location: Germany
Contact:

Mod Rewrite 1.5.0 RC5

Post by jr-ewing »

Hallo,
ich benutze 1.5 RC5 und ich habe ein Problem mit den Kategorien. Es wird leider nur showcat... angezeigt statt category12.html

Betroffene Zeile in inc/category.php

Code: Select all

                    if (isset($PMF_CONF["mod_rewrite"]) && $PMF_CONF["mod_rewrite"] == "TRUE") {
Da geht er immer in den else Zweig :-(

In der inc/config.php ist aber mod_rewrite auf true gesetzt.
$PMF_CONF["mod_rewrite"] = "TRUE";

Warum ist denn die Variable bei mir nicht gesetzt ?

Gruß Thomas
Mein Baby Lexikon | Gegen Contentdiebstahl -> Spider Trap
Thorsten
Posts: 15741
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

das ist ein Bug. :-(

Ich habe ihn eben im CVS gefixt.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
jr-ewing
Posts: 37
Joined: Sun Jul 10, 2005 6:52 pm
Location: Germany
Contact:

Post by jr-ewing »

Super, danke
und noch Gratulation zu der tollen Software !!!!


P.S
zu dem mod-rewrite hack wäre es toll wenn nich categorie1.html kommen würde sondern z.B. babykrankheiten-1.html
Der Name einer Seiten spielt für eine gute Platzierung bei Google eine wichtige Rolle.
Bindestrich bzw. Pluszeichen werden von Google als Trenner erkannt.

Gruß Thomas
Mein Baby Lexikon | Gegen Contentdiebstahl -> Spider Trap
Thorsten
Posts: 15741
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

das wäre eine Überlegung wert, ich müsste mich dafür aber mal tiefer in die Materie mod_rewrite einlesen...

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
jr-ewing
Posts: 37
Joined: Sun Jul 10, 2005 6:52 pm
Location: Germany
Contact:

Post by jr-ewing »

Ich schau mal - vielleicht kann ich was basteln :-)
Mein Baby Lexikon | Gegen Contentdiebstahl -> Spider Trap
jr-ewing
Posts: 37
Joined: Sun Jul 10, 2005 6:52 pm
Location: Germany
Contact:

Post by jr-ewing »

Ich habe ihn eben im CVS gefixt.
Kannst du mir die Codestellen nennen ? Bring das mit CVS nicht auf die Reihe.
Mein Baby Lexikon | Gegen Contentdiebstahl -> Spider Trap
Thorsten
Posts: 15741
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

einfach copy&paste dieser category.php:

http://thinkforge.org/scm/viewFile2.php ... de_attic=0

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
jr-ewing
Posts: 37
Joined: Sun Jul 10, 2005 6:52 pm
Location: Germany
Contact:

SEF

Post by jr-ewing »

@Thorsten
Hier mal eine kleine Erweiterung um die Urls auf folgende Form zu bringen

statt category5_1.html -> spielewelt-5_1.html
und statt dem Artikel
5_1_de.html -> spielen-5_1_de.html

Hat den Vorteil dass der Artikel bzw Kategorienamen in der Url steht. Das mögen die Suchmaschinen halt recht gerne.

Vorher sichert euch bitte die drei anzupassenden Dateien....

1. Datei .htaccess anpassen....

Code: Select all

# a page with a record
RewriteCond %{REQUEST_URI}          ([a-zA-Z0-9_]+)-([0-9]+)_([0-9]+)_([a-z]+)\.html$ [NC]
RewriteRule ^(.*)-(.*)_(.*)_(.*)\.html$  index.php?action=artikel&cat=$2&id=$3&artlang=$4 [L,QSA]

# a category page
RewriteCond %{REQUEST_URI}           ([a-zA-Z0-9_]+)-([0-9]+)\.html$ [NC]
RewriteRule ^(.*)-(.*).html$		     index.php?action=show&cat=$2 [L,QSA]
2. Datei inc/funtions.php - anpassen der Artikelnamen

ca. Zeile 210

Code: Select all

// TZ007        $output .= "\t<li><a href=\"".$row->category_id."_".$row->id."_".$row->lang.".html\">".stripslashes($row->thema)."</a> [".$row->lang."]<br /><div class=\"little\">(".$visits." ".$PMF_LANG["msgViews"].")</div></li>\n";                
                $output .= "\t<li><a href=\"".stripslashes($row->thema)."-".$row->category_id."_".$row->id."_".$row->lang.".html\">".stripslashes($row->thema)."</a> [".$row->lang."]<br /><div class=\"little\">(".$visits." ".$PMF_LANG["msgViews"].")</div></li>\n";
ca. Zeile 526

Code: Select all

// TZ007	$data['url'] = $row->category_id."_".$row->id."_".$row->lang.".html";
			$data['url'] = stripslashes($row->thema)."-".$row->category_id."_".$row->id."_".$row->lang.".html";
ca. Zeile 628

Code: Select all

// TZ007	$data['url'] = $row->category_id."_".$row->id."_".$row->lang.".html";
			$data['url'] = stripslashes($row->thema)."-".$row->category_id."_".$row->id."_".$row->lang.".html";
3. Datei inc/category.php - Anpassen der Kategorienamen

ca. Zeile 408

Code: Select all

// TZ007            $output .= "<a title=\"".$description."\" href=\"category".$parent.".html\">".$categoryName."</a> (".$number[$parent]." ".$PMF_LANG["msgEntries"].")";
                    $output .= "<a title=\"".$description."\" href=\"".urlencode($categoryName)."-".$parent.".html\">".$categoryName."</a> (".$number[$parent]." ".$PMF_LANG["msgEntries"].")";
ca. Zeile 415

Code: Select all

// TZ007            $output .= "<a title=\"".$description."\" href=\"category".$parent.".html\">".$categoryName."</a> (".$number[$parent]." ".$PMF_LANG["msgEntries"].")";
                    $output .= "<a title=\"".$description."\" href=\"".urlencode($categoryName)."-".$parent.".html\">".$categoryName."</a> (".$number[$parent]." ".$PMF_LANG["msgEntries"].")";
ca. Zeile 564

Code: Select all

// TZ007                $output .= "<a title=\"".$description."\" href=\"category". $parent.".html\"".$a.">".$categoryName." <img src=\"images/more.gif\" width=\"11\" height=\"11\" alt=\"".$categoryName."\" style=\"border: none; vertical-align: middle;\" /></a>";
            		    $output .= "<a title=\"".$description."\" href=\"".urlencode($categoryName)."-".$parent.".html\"".$a.">".$categoryName." <img src=\"images/more.gif\" width=\"11\" height=\"11\" alt=\"".$categoryName."\" style=\"border: none; vertical-align: middle;\" /></a>";
ca. Zeile 572

Code: Select all

// TZ007                    $output .= "<a title=\"".$description."\" href=\"category".$this->treeTab[$y]["parent_id"].".html\"".$a.">".$categoryName."</a>";
                            $output .= "<a title=\"".$description."\" href=\"".urlencode($categoryName)."-".$this->treeTab[$y]["parent_id"].".html\"".$a.">".$categoryName."</a>";
ca Zeile 579

Code: Select all

// TZ007                    $output .= "<a title=\"".$description."\" href=\"category".$parent.".html\"".$a.">".$categoryName."</a>";
                            $output .= "<a title=\"".$description."\" href=\"".urlencode($categoryName)."-".$parent.".html\"".$a.">".$categoryName."</a>";
Viel Glück beim basteln.
Mein Baby Lexikon | Gegen Contentdiebstahl -> Spider Trap
Thorsten
Posts: 15741
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

wow, vielen Dank!

Ich werde das in die Version 1.5.1 einbauen. Schickst du mir bitte deinen Namen per E-Mail, damit ich dich als Autor einfügen kann?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
jr-ewing
Posts: 37
Joined: Sun Jul 10, 2005 6:52 pm
Location: Germany
Contact:

Post by jr-ewing »

@thorsten - hast eine PM ;-)

hab noch was vergessen:
functions.php

ca. Zeile 210

Code: Select all

// TZ007        $output .= "\t<li><a href=\"".$row->category_id."_".$row->id."_".$row->lang.".html\">".stripslashes($row->thema)."</a> [".$row->lang."]<br /><div class=\"little\">(".$visits." ".$PMF_LANG["msgViews"].")</div></li>\n";                
                $output .= "\t<li><a href=\"".urlencode(stripslashes($row->thema))."-".$row->category_id."_".$row->id."_".$row->lang.".html\">".stripslashes($row->thema)."</a> <br /><div class=\"little\">(".$visits." ".$PMF_LANG["msgViews"].")</div></li>\n";
ca. Zeile 526

Code: Select all

// TZ007	$data['url'] = $row->category_id."_".$row->id."_".$row->lang.".html";
			$data['url'] = urlencode(stripslashes($row->thema))."-".$row->category_id."_".$row->id."_".$row->lang.".html";
ca. Zeile 628

Code: Select all

// TZ007	$data['url'] = $row->category_id."_".$row->id."_".$row->lang.".html";
			$data['url'] = urlencode(stripslashes($row->thema))."-".$row->category_id."_".$row->id."_".$row->lang.".html";
einfach noch ein urlencode() um das stripslashes.... :-)

Zu sehen ist das ganze auf der Seite in meinem Footer...

Gruß Thomas
Mein Baby Lexikon | Gegen Contentdiebstahl -> Spider Trap
AFillbrandt
Posts: 28
Joined: Sun Mar 27, 2005 12:23 pm
Contact:

Post by AFillbrandt »

Dazu mal ein kleiner Hinweis:

Was passiert wohl, wenn im Titel des Artikels oder der Rubrik ein Slash oder Bindestrich zu finden sind...

Nach dem wie ich deine Anpassung verstehe kommt das System dann durcheinander, oder?

Gruß
Alex
jr-ewing
Posts: 37
Joined: Sun Jul 10, 2005 6:52 pm
Location: Germany
Contact:

Post by jr-ewing »

ja an dem Bindestrich erkennt er dass die ID los geht
Aufbau ist
bezeichnung-id_artikel_sprache

Bindestrich wird von Google als Trenner gesehen
also:
unter "hallo-welt" findet Google Hallo und auch Welt
"hallo_welt" schaut für Google so aus "hallo_welt" also ein Wort !

notfalls kannst du mit der PHP Funktion strreplace aber deine Bindestriche ind den Beschreigunb auf " " oder umbauen.
Mein Baby Lexikon | Gegen Contentdiebstahl -> Spider Trap
Thorsten
Posts: 15741
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

ich werde das erst in die 1.5.1 einbauen, für die es dann auch einige RCs geben wird, wo man die mod_rewrite Änderungen testen können wird.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
Thorsten
Posts: 15741
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

seit gestern ist das in die phpMyFAQ 1.6.0-dev integriert.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
jiggle
Posts: 30
Joined: Mon Jul 18, 2005 7:51 pm
Contact:

Post by jiggle »

seit gestern ist das in die phpMyFAQ 1.6.0-dev integriert.
Aber ohne den namen als URL oder, das funktioniert bei mir nicht
Post Reply