mod_rewrite für ContestMX - pragmaMX 0.1.11

Als Ergänzung zum normalen mod_rewrite von pragma kann mit den folgenden Änderungen die URL ein wenig SEO-freundlicher gemacht werden.

DIESE ÄNDERUNG GELTEN NUR FÜR pmx 0.1.11. Für die pragmaMX ab 1.12 steht eine neue individuelle Mod-Rewrite-Lösung zur Verfügung.
in der mx_modrewrite.php im Verzeichnis includes muss folgende Ergänzung eingefügt werden:

                   
// ##############################################################################                   
//  modrewrite für ContestMX
//
//
// ##############################################################################
    //ContestMX Contest
    preg_match_all('#Contest-pid-(\d*)#', $content, $contest, PREG_SET_ORDER);
                foreach ($contest as $contest1){
   
                $contest2[0] = preg_replace('#Contest-pid-#', '', $contest1[0]);                   
                $abfrage = "SELECT cattitle, conid FROM " . $prefix . "_pmxContest_contest WHERE conid = '$contest2[0]'";
                    $ergebnis = mysql_query($abfrage);
                        while($row = mysql_fetch_array($ergebnis))
                        {   
                           
                            $titel_contest_rewrite = $row["cattitle"];
                            $titel_contest_rewrite = str_replace($umlaute, $ersetzung, $titel_contest_rewrite);
                            $titel_contest_rewrite = preg_replace('#\W#', "-", $titel_contest_rewrite);
                            $titel_contest_rewrite = preg_replace('#---#', "-", $titel_contest_rewrite);
                            $titel_contest_rewrite = preg_replace('#--#', "-", $titel_contest_rewrite);
                            $titel_contest_fert = "Contest-title-";
                            $titel_contest_fert.= "$titel_contest_rewrite-";
                            $titel_contest_fert.= $contest2[0];
                            $replace = "#".$contest1[0]."(?!\d)#";
                            $content = preg_replace($replace, $titel_contest_fert, $content);
                                        }
           
                        }                   
    //ContestMX Category
    preg_match_all('#Contest-cid-(\d*)#', $content, $contest, PREG_SET_ORDER);
                foreach ($contest as $contest1){
   
                $contest2[0] = preg_replace('#Contest-cid-#', '', $contest1[0]);                   
                $abfrage = "SELECT cattitle, catid FROM " . $prefix . "_pmxContest_category WHERE catid = '$contest2[0]'";
                    $ergebnis = mysql_query($abfrage);
                        while($row = mysql_fetch_array($ergebnis))
                        {   
                           
                            $titel_contest_rewrite = $row["cattitle"];
                            $titel_contest_rewrite = str_replace($umlaute, $ersetzung, $titel_contest_rewrite);
                            $titel_contest_rewrite = preg_replace('#\W#', "-", $titel_contest_rewrite);
                            $titel_contest_rewrite = preg_replace('#---#', "-", $titel_contest_rewrite);
                            $titel_contest_rewrite = preg_replace('#--#', "-", $titel_contest_rewrite);
                            $titel_contest_fert = "Contest-category-";
                            $titel_contest_fert.= "$titel_contest_rewrite-";
                            $titel_contest_fert.= $contest2[0];
                            $replace = "#".$contest1[0]."(?!\d)#";
                            $content = preg_replace($replace, $titel_contest_fert, $content);
                                        }
           
                        }   
                       
    //ContestMX Picture
    preg_match_all('#Contest-pa-contest_pic_show-pid-(\d*)#', $content, $contest, PREG_SET_ORDER);
                foreach ($contest as $contest1){
   
                $contest2[0] = preg_replace('#Contest-pa-contest_pic_show-pid-#', '', $contest1[0]);                   
                $abfrage = "SELECT title, pid FROM " . $prefix . "_pmxContest_picture WHERE pid = '$contest2[0]'";
                    $ergebnis = mysql_query($abfrage);
                        while($row = mysql_fetch_array($ergebnis))
                        {   
                           
                            $titel_contest_rewrite = $row["title"];
                            $titel_contest_rewrite = str_replace($umlaute, $ersetzung, $titel_contest_rewrite);
                            $titel_contest_rewrite = preg_replace('#\W#', "-", $titel_contest_rewrite);
                            $titel_contest_rewrite = preg_replace('#---#', "-", $titel_contest_rewrite);
                            $titel_contest_rewrite = preg_replace('#--#', "-", $titel_contest_rewrite);
                            $titel_contest_fert = "Contest-pic-";
                            $titel_contest_fert.= "$titel_contest_rewrite-";
                            $titel_contest_fert.= $contest2[0];
                            $replace = "#".$contest1[0]."(?!\d)#";
                            $content = preg_replace($replace, $titel_contest_fert, $content);
                                        }
           
                        }   
// ##########################################################################
//      end modrewrite ContestMX
// ##########################################################################



dazu muss aber in der htaccess auf dem Server noch folgende Ergänzung hinein:

## Rewrite Rules für mxContest
RewriteRule ^(Contest)-pic-(.*)-([0-9]+)\.html$ modules.php?name=$1&pa=contest_pic_show&pid=$3 [L]
RewriteRule ^(Contest)-title-(.*)-([0-9]+)\.html$ modules.php?name=$1&pid=$3 [L]
RewriteRule ^(Contest)-category-(.*)-([0-9]+)\.html$ modules.php?name=$1&cid=$3 [L]


Danach stehen die Titel der Kategorien, Wettbewerbe und der Bilder mit in der URL
Viel Spass

Publiziert am: Freitag, 25. Juni 2010 (391 mal gelesen)
Copyright © by Software Tecmu

Druckbare Version  Diesen Artikel an einen Freund senden

[ Zurück ]



Home

Mai2012
#MoDiMiDoFrSaSo
1830123456
1978910111213
2014151617181920
2121222324252627
2228293031