mod_rewrite - alte Links

Begonnen von pater1971, 08 März 2014, 08:43:19

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

pater1971

Moin Zusammen,

ich habe aus: modules\Content10\core die mod_rewrite.php geöffnet und wollte das "//alte Links mit pa=showpage" entfernen.

Leider funktioniert nichts was ich versucht habe das Content10 wird immer so angezeigt:
www.fij-dasmagazin.de/Content10-pa-showpage-pid-5.html

Es soll aber immer so angezeigt werden das der Titel der Contentseite angezeigt wird.

Kann mir dann eventuell jemand von euch mal einen Tipp geben wie ich das ändern kann.
pMx 2.4.2.448 | PHP: 7.0.25 | MySQL: 5.7.20 | Apache  | Windows 7 Ultimate 64 Bit | FF Quantum

Olaf / TerraProject

dann musst du in der Datei die Zeile
class pmxModrewrite_Content extends pmxModrewrite {
umbenennen in
class pmxModrewrite_Content10 extends pmxModrewrite {
dann sollte es gehen....
g

Olaf

Kein Support über PN, Mail etc.!
Bitte die Fragen im Forum stellen, nur so helfen die Antworten auch den anderen Usern.
Bitte auch die Boardsuche nicht vergessen, oft ist genau dein Problem schon an anderer Stelle gelöst worden!

pater1971

Hallo Olaf,

das habe ich in jedem meiner 11 Contenmodule gemacht.
Ich hänge den Code mal mit ran.

Danke


<?php
/**
 * This file is part of
 * pragmaMx - Web Content Management System.
 * Copyright by pragmaMx Developer Team - http://www.pragmamx.org
 *
 * pragmaMx is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * $Revision: 1.8 $
 * $Author: tora60 $
 * $Date: 2011/01/23 13:54:19 $
 */

/* falls die Datei direkt aufgerufen, das include einfach beenden */
if (!defined('PMX_HOME_URL')) return;
class_exists('pmxModrewrite'false) or die('access denied');

/*
# Content

RewriteRule ^Content-.*-category-([0-9]+)(-.*)?\.html$ mod.php?name=Content&cid=$1&_MORE_=$2 [L]
RewriteRule ^Content-.*-item-([0-9]+)(-.*)?\.html$ mod.php?name=Content&pid-$1&_MORE_=$2 [L]

*/

class pmxModrewrite_Content10 extends pmxModrewrite {
    public function 
get($name$parameter)
    {
        global 
$prefix;

        
$replaces = array();

        
$cat = array();
        
$page = array();

        foreach (
$parameter as $key => $para) {
            switch (
true) {
                case (isset(
$para['cid']) && intval($para['cid'])):
                    
$cat[0][] = $para['cid'];
                    
$cat[$key] = $para;
                    break;
                case (isset(
$para['pid'], $para['pa']) && intval($para['pid']) && $para['pa'] == 'showpage'):
                    unset(
$para['pa']); // alte Links mit pa=showpage
                
case (isset($para['pid']) && intval($para['pid'])):
                    
$page[0][] = $para['pid'];
                    
$page[$key] = $para;
                    break;
            }
        }

        
/**
         * Content-KATEGORIENAME-cat63.html
         * RewriteRule ^Content-.*-cat([0-9]+)(-.*)?\.html$ mod.php?Content&________________________cid-$1$2 [L]
         */
        
if ($cat) {
            
$inquery implode(','array_unique(array_shift($cat)));
            
$qry "SELECT cid, title FROM {$prefix}_pages10_categories WHERE cid in ($inquery)";
            
$result sql_query($qry);
            
$titles = array();
            while (list(
$cid$title) = sql_fetch_row($result)) {
                
$titles[$cid] = parent::title_entities($title'-');
            }

            foreach (
$cat as $key => $link) {
                if (isset(
$titles[$link['cid']])) {
                    
$new_url parent::title_parameters($link'cid');
                    
$new_url 'Content-' $titles[$link['cid']] . '-category10-' $link['cid'] . $new_url;
                    
$replaces[$key] = $link['prefix'] . $new_url $link['suffix'];
                }
            }
        }

        
/**
         * Content-PAGETITEL-(ID).html
         * RewriteRule ^Content-.*-\(([0-9]+)\)(-.*)?\.html$ mod.php?Content&________________________pid-$1$2 [L]
         */
        
if ($page) {
            
$inquery implode(','array_unique(array_shift($page)));
            
$qry "SELECT pid, title FROM {$prefix}_pages10 WHERE pid in ($inquery)";
            
$result sql_query($qry);
            
$titles = array();
            while (list(
$id$title) = sql_fetch_row($result)) {
                
$titles[$id] = parent::title_entities($title'-');
            }

            foreach (
$page as $key => $link) {
                if (isset(
$titles[$link['pid']])) {
                    
$new_url parent::title_parameters($link'pid');
                    
$new_url 'Content-' $titles[$link['pid']] . '-item10-' $link['pid'] . '' $new_url;
                    
$replaces[$key] = $link['prefix'] . $new_url $link['suffix'];
                }
            }
        }

        return 
$replaces;
    }
}

?>

pMx 2.4.2.448 | PHP: 7.0.25 | MySQL: 5.7.20 | Apache  | Windows 7 Ultimate 64 Bit | FF Quantum

pater1971

Ich habe das Contentmodul noch einmal dupliziert und zwar aus dem Contenmodul Nr.9 da bei diesem alles funktioniert.

Ab Contentmodul Nr. 10 funktiniert es nicht mehr so wie bei Nr. 9.
Kann es sein das ich eventuell zu viele Contentmodule nutze?
pMx 2.4.2.448 | PHP: 7.0.25 | MySQL: 5.7.20 | Apache  | Windows 7 Ultimate 64 Bit | FF Quantum