mal wieder mod_rewrite

Begonnen von pyr0, 02 Dezember 2013, 14:20:58

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

pyr0

Hallo an alle  ;)

mal wieder eine Frage zum mod_rewrite:

was muss ich in der htaccess eintragen damit aus diesem Link: modules.php?name=Portfolio&op=detail&pf_id=2&pf_id_name=Beispiel folgendes wird Beispiel-Portfolio.html oder Portfolio-Beispiel.html


Danke und Gruss an Alle
Kein Support über PN, Mail !
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!

AlternativeComputing

Probiere mal das:



RewriteRule ^Portfolio-Beispiel.html$ mod.php?name=Portfolio&op=detail&pf_id=$1&_MORE_=$2 [L]



Ungetestet.
MfG

Peter

pyr0

Leider passiert garnichts, wenn ich dies in die htacces eintrage
1. eingetragen
2. cache geleert
3. als gast Seite aufgerufen und nix passiert

Schade ... :gruebel:
Kein Support über PN, Mail !
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!

AlternativeComputing

#3
Was passiert bei:



RewriteRule ^Portfolio-Beispiel.html$ modules.php?name=Portfolio&op=detail&pf_id=$1&pf_id_name=Beispiel [L]



oder bei:



RewriteRule ^Portfolio-Beispiel.html$ mod.php?name=Portfolio&op=detail&pf_id=$1&pf_id_name=Beispiel [L]



?

<Edit>

Habe mir mal die Regeln noch mal genauer angesehen.



RewriteRule ^Portfolio-[^0-9]*-([0-9]+)(-.*)?\.html$ mod.php?name=Portfolio&op=detail&pf_id=$1&_MORE_=$2 [L]



sollte Portfolio-PF_ID-Beispiel.html ergeben, anders wirst Du es mit einer ID nicht lösen können.

</Edit>
MfG

Peter

pyr0

Erstmal Danke
aber es geht immer noch nicht  :gruebel:
bleibt immer noch http://..../Portfolio-op-detail-pf_id-1.html
was solls, werd es dann wohl so lassen ....

Ich habe es in der htaccess hier rein gepackt

# RewriteBase /www

# individuelle Rewrite-Regeln:
RewriteRule ^home\.html$ index.php [L]
RewriteRule ^Portfolio-[^0-9]*-([0-9]+)(-.*)?\.html$ mod.php?name=Portfolio&op=detail&pf_id=$1&_MORE_=$2 [L]

da solltes es doch richtig sein oder?


Gruss pyr0
Kein Support über PN, Mail !
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!

AlternativeComputing

#5
Die Stelle ist schon ok so.

Was passiert, wenn Du anstelle mod.php modules.php benutzt?

Teste mal ein Hardlink:



RewriteRule ^Portfolio-Beispiel-1.html$ modules.php?name=Portfolio&op=detail&pf_id=1&pf_id_name=Beispiel [L]

MfG

Peter

nudels64

Mod_Rewrite ist derzeit nicht aktiv auf Deiner Seiter oder? Solltest Du erst einmal in den Einstellungen aktivieren.
Ansonsten wenn es ein Modul ist mein Vorschlag:

# ##############################################################################
# URL's automatisch generieren fuer alles was ueber die modules.php laeuft
#
# diese Regeln nicht ver‰ndern!!!
#
# ##############################################################################
#eingefügt von MarcoA (3 Zeilen)
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+) - [PT,L]


RewriteRule ^([^-]+)-([^/]+)\.htm(l?)$ mod.php?$1&________________________$2 [L]
RewriteRule ^([^-/]+)\.htm(l?)$ mod.php?$1 [L]
RewriteRule ^([^-/]+)\.htm(l?)$ mod.php?$1 [L]
Lieben Gruß
Andreas
#################################
CMS-Version:
pragmaMx 2.1.2.94 (2014-10-22)
PHP-Version:
5.6.24-he.0
MySQL-Version:
5.6.31-77.0-log
Server-Version:
Apache

pyr0

mod_rewrite ist aktiviert  ;)

geht nicht um module-factory.net sondern ne andere Seite  :cul:

und leider bringt auch das RewriteRule ^Portfolio-Beispiel-1.html$ modules.php?name=Portfolio&op=detail&pf_id=1&pf_id_name=Beispiel [L] nicht's

Schade  :puzzled:
Kein Support über PN, Mail !
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!

AlternativeComputing

Was Du mal machen könntest, ist mir mal eine Demo mit Demo DB Einträgen zukommen lassen und ich checke das mal Lokal.
MfG

Peter

pyr0

Sorry, dass ich mich jetzt erst melde. Sitze scho ein paar Tage an der Vorbereitung meiner mündlichen Diplomprüfung für Morgen dran und muste jetzt mal abschalten und schnell mal hier schauen.
Demo kann ich Dir Morgen oder Donnerstag mal schicken.
Kein Support über PN, Mail !
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!

AlternativeComputing

MfG

Peter

pyr0

Du willst also das komplette Modul haben zum testen? :red:
Kein Support über PN, Mail !
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!

AlternativeComputing

Nein Ich brauche nur das Frontend mit einer Sampledb.
MfG

Peter

pyr0

Wolltes es hier anhängen, leider zugross
Hier mal das komplette Script, einfach kopieren.  ;)

deshalb hier mal eine testversion: http://module-factory.net/modules.php?name=Downloads&cid=17
Das Modul ist bis Ende Dezember lauffähig danach geht es dann nicht mehr.

Hier die Demo http://module-factory.net/modules.php?name=Portfolio
Kein Support über PN, Mail !
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!

AlternativeComputing

Ok hab ich, kannst den DL wieder deaktivieren.

Schaue ich mir nach den Essen an.
MfG

Peter

AlternativeComputing

Brauche noch eine Demo Sql Datei.
MfG

Peter

pyr0

DB Einträge sollten gemacht werden  :gruebel:
Kein Support über PN, Mail !
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!

pyr0

einfach alles installieren und dann im ACP Kategorie anlegen und Muster Portfolio anlegen und Modul aktivieren nicht vergessen  :JC_highfive:
Kein Support über PN, Mail !
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!

AlternativeComputing

Ja die Tabellen wurden zwar angelegt, ich kann sie aber nicht füttern.

Beim anlegen eiener Kategorie:



modules/Portfolio/admin/category.php(1) : eval()'d code:
· Field 'category_counter' doesn't have a default value query: INSERT {prefix}_portfolio_category (category_id, category_name) VALUES ('', 'Test') on line 102



Und Portfolio anlegen ist außer Funktion.

Es kann doch nicht so schwer sein und eine Samplesql mit Testdaten mir zukommen zu lassen.
Ohne das ich in der DB selber rum schreiben muß.

Ich will ja nicht das Modul, sondern die Modrewrite Regeln testen.

MfG

Peter

pyr0

ich weis garnicht warum du gleich so genervt und schwierig tust, Fehler passieren. Du must viel entspannter werden.  ;)
Hab es auch jetzt erst gesehen das das falsche zip File auf dem Server liegt. Hab mal mit dem SourceCop rum gespielt und dann wohl die falsche Datei erwischt sorry
Kein Support über PN, Mail !
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!

pyr0

so hab den Fehler scheinbar gefunden, neue Version liegt hier bereit http://module-factory.net/Files/portfolio.zip
;) :smile:
Kein Support über PN, Mail !
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!

AlternativeComputing

#21
Das hat nichts mit genervt zu tun  ;)

Wenn man mich nach einer Demo DB in Form einer Sql Datei fragt, kann ich die doch mit geben, da ist nichts dabei.
Und wenn es nur eine Insert File ist.

Denn der Dump ist in einer Minute gemacht und man kann sich auf das eigentliche Problem konzentrieren.

Aber ist ja jetzt auch egal.

<Edit>

Auch diese Version ist Fehlerhaft:



Es sind folgende Fehler aufgetreten:
modules/Portfolio/admin/category.php:
· Incorrect integer value: '' for column 'category_id' at row 1 query: INSERT {prefix}_portfolio_category (category_id, category_name, category_counter ) VALUES ('', 'Test', '0') on line 102



Auch hier sind die Porto Link deaktiviert:



</Edit>
MfG

Peter

pyr0

#22
komisch; ich bekomm den fehler nicht
Kein Support über PN, Mail !
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!

pyr0

hier mal ein sql-dump wie gewüntscht:

-- phpMyAdmin SQL Dump
-- version 4.0.9
-- http://www.phpmyadmin.net
--
-- Host: 127.0.0.1
-- Erstellungszeit: 12. Dez 2013 um 18:37
-- Server Version: 5.5.34
-- PHP-Version: 5.4.22

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

--
-- Datenbank: `pmx`
--

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `mx47c30f_portfolio`
--

CREATE TABLE IF NOT EXISTS `mx47c30f_portfolio` (
  `pf_id` int(10) NOT NULL AUTO_INCREMENT,
  `pf_time` int(50) NOT NULL,
  `pf_cat_id` int(10) NOT NULL,
  `pf_title` varchar(100) NOT NULL,
  `pf_desc` varchar(200) NOT NULL,
  `pf_desc_long` text NOT NULL,
  `pf_img` varchar(50) NOT NULL,
  `pf_count` int(10) NOT NULL,
  `pf_activ` enum('0','1') NOT NULL DEFAULT '0',
  PRIMARY KEY (`pf_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Daten für Tabelle `mx47c30f_portfolio`
--

INSERT INTO `mx47c30f_portfolio` (`pf_id`, `pf_time`, `pf_cat_id`, `pf_title`, `pf_desc`, `pf_desc_long`, `pf_img`, `pf_count`, `pf_activ`) VALUES
(1, 1386869754, 5, 'Testportfolio', 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut l', 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. <br /><br />Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. <br /><br />Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.&nbsp;', 'no_portfolio.jpg', 0, '1');

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `mx47c30f_portfolio_category`
--

CREATE TABLE IF NOT EXISTS `mx47c30f_portfolio_category` (
  `category_id` int(10) NOT NULL AUTO_INCREMENT,
  `category_name` varchar(50) NOT NULL,
  `category_counter` varchar(10) NOT NULL,
  PRIMARY KEY (`category_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--
-- Daten für Tabelle `mx47c30f_portfolio_category`
--

INSERT INTO `mx47c30f_portfolio_category` (`category_id`, `category_name`, `category_counter`) VALUES
(5, 'Neu', '1');

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `mx47c30f_portfolio_images`
--

CREATE TABLE IF NOT EXISTS `mx47c30f_portfolio_images` (
  `pf_id` int(10) NOT NULL AUTO_INCREMENT,
  `pf_id_img` int(10) NOT NULL,
  `img_name` varchar(50) NOT NULL,
  `img_desc` varchar(100) NOT NULL,
  PRIMARY KEY (`pf_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

-- --------------------------------------------------------

--
-- Tabellenstruktur für Tabelle `mx47c30f_portfolio_log`
--

CREATE TABLE IF NOT EXISTS `mx47c30f_portfolio_log` (
  `pf_log_id` int(10) NOT NULL AUTO_INCREMENT,
  `pf_log_time` int(30) NOT NULL,
  `pf_log_ip` varchar(30) NOT NULL,
  `pf_log_what` text NOT NULL,
  `pf_log_username` varchar(50) NOT NULL,
  PRIMARY KEY (`pf_log_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


hoffe das es damit geht
Kein Support über PN, Mail !
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!

AlternativeComputing

Sooo, nun weiß ich warum die mod_rewrite Regeln bei Dir nicht greifen.

Dir fehlt die dazugehörige Datei im Ordner core und dann die dazu passenden Regeln in der .htacces.

Die Regeln:



# pragmaMx - Web Content Management System
# Copyright by pragmaMx Developer Team - http://www.pragmamx.org
# $Revision: 1.20.2.1 $
# $Author: dia_bolo $
# $Date: 2012-02-04 11:12:42 $

#AddType x-mapp-php5 .php
#AddHandler x-mapp-php5 .php

#AddHandler php-fastcgi .php .php4 .php3

# rename this file to .htaccess, and you will get nice and clean urls.

# Depends on your configuration, you must set RewrteBase to
# switch on Mod_rewrite. See for this the online docs:
# http://httpd.apache.org/docs/mod/mod_rewrite.html


# falls nicht funktioniert, dann die nächste Zeile wieder auskommentieren!
# (Am Anfang der nächsten Zeile ein "#" einfügen... )
Options +FollowSymLinks

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>
## EXPIRES CACHING ##

# Rewrite Engine aktivieren
RewriteEngine on

# eventuell existierendes utf-8 Problem fixen
#SetEnv PMX_REWRITE_DECODE_UTF8 off

# evtl. bei Bedarf Rewrite Basisordner definieren
# falls nicht funktioniert, dann die nächste Zeile wieder einkommentieren, vorher allerdings den Pfad anpassen!!!
# RewriteBase /www

# individuelle Rewrite-Regeln:
RewriteRule ^home\.html$ index.php [L]


# ##########################################################################
#
# Individuelle Rewrite-Regeln fuer Standardmodule
#
# ##########################################################################

# Portfolio
RewriteRule ^Portfolio.html$ mod.php?name=Portfolio [L]
RewriteRule ^Portfolio-Cat-([^/]+)?\.html$ mod.php?name=Portfolio&op=category&cat_name=$1 [L]
RewriteRule ^Portfolio-.*([0-9]+)(-.*)?\.html$ mod.php?name=Portfolio&op=detail&pf_id=$1&_MORE_=$2 [L]

# ##############################################################################
# URL's automatisch generieren fuer alles was ueber die modules.php laeuft
#
# diese Regeln nicht verändern!!!
#
# ##############################################################################


RewriteRule ^([^-]+)-([^/]+)\.html$ mod.php?$1&________________________$2 [L]
RewriteRule ^([^-/]+)\.html$ mod.php?name=$1 [L]



Die mod_rewrite.php liegt mit core Ordner im Anhang.

Diese Datei ist NUR grob vorgearbeitet, den Rest musst Du machen.
Mach Dich mit der Technik vertraut, so wird es auch im PMX 2.X sein.
MfG

Peter

AlternativeComputing

#25
Nachtrag:

Wenn Du die Portfolios via:

modules.php?name=Portfolio&op=detail&pf_id=1&pf_name=Testportfolio

aufrufst, bekommst Du Probleme beim Modrewrite.

Rufst Du sie aber NUR per ID auf:

modules.php?name=Portfolio&op=detail&pf_id=1

dann bekommst Du saubere rewrite URLs hin.

Eine für den ID Aufruf funktionierende mod_rewrite.php:



<?php
/**
 * This op 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.9 $
 * $Author: tora60 $
 * $Date: 2011/09/19 12:24:26 $
 */
// TODO: Variablen besser benennen
// /// $key kann in url vorkommen
// /// $link, sollte $link, oder so heissen
/* falls die Datei direkt aufgerufen, das include einfach beenden */
if (!defined('PMX_HOME_URL')) return;
class_exists('pmxModrewrite'false) or die('access denied');

/*

# Portfolio
RewriteRule ^Portfolio.html$ mod.php?name=Portfolio [L]
RewriteRule ^Portfolio-category-([^/]+)?\.html$ mod.php?name=Portfolio&op=category&cat_name=$1 [L]
RewriteRule ^Portfolio-results-[^0-9]*-([0-9]+)(-.*)?\.html$ mod.php?name=Portfolio&op=detail&pf_id=$1&_MORE_=$2 [L]

*/
 
class pmxModrewrite_Portfolio extends pmxModrewrite {
    public function 
get($name$parameter)
    {
        global 
$prefix;

        
$replaces = array();

        
$detail = array();

        foreach (
$parameter as $key => $para) {
            switch (
true) {
                case ( (isset(
$para['op']) && $para['op'] == 'detail') && (isset($para['pf_id']) && (isset($para['pf_id']) ) ) ):
                    
$detail[0][] = $para['pf_id'];
                    
$detail[$key] = $para;
                    break;
                case ((isset(
$para['op']) && $para['op'] == 'category') && (isset($para['cat_name']))):
                    
$new_url 'Portfolio-category-' $para['cat_name'] . '.html';
                    
/* die globalen Ersetzungsparameter mit den neuen Werten überschreiben */
                    
$replaces[$key] = $para['prefix'] . $new_url $para['suffix'];
                    break;
            }
        }

        
/**
         * # News-Topic-TopicTITEL-(ID).html
         * RewriteRule ^News-Topic-.*-\(([0-9]+)\)(-.*)?\.html$ mod.php?News&________________________cat_name-$1$2 [L]
         */
        
if ($detail) {
            
$inquery implode(','array_unique(array_shift($detail)));
            
$qry "SELECT pf_id, pf_title FROM {$prefix}_portfolio WHERE pf_id in ($inquery)";
            
$result sql_query($qry);
            
$titles = array();
            while (list(
$pfid$pftitle) = sql_fetch_row($result)) {
                
/**
                 * den aus der DB ausgelesenen Titel als URL tauglich machen
                 * - Umlaute werden umgeschrieben
                 * - Sonderzeichen werden durch den angegebenen 2ten Parameter ersetzt
                 * Einstellung:
                 * der zweite Parameter der Funktion, als Sonderzeichenersatz
                 */
                
$titles[$pfid] = parent::title_entities($pftitle'-');
            }

            foreach (
$detail as $key => $link) {
                if (isset(
$titles[$link['pf_id']])) {
                    
/**
                     * schreibt alle Parameter um in das normale pragmaMx mod_rewrite Format,
                     * also getrennt mit den Bindestrichen
                     * Einstellung:
                     * alle Parameter, die nicht benötigt werden, weil sie z.B. anderweitig
                     * in der URL verwendet werden, als zusätzlichen Parameter der Funktion
                     * übergeben
                     */
                    
$new_url parent::title_parameters($link'pf_id''op');
                    
/**
                     * den neuen URL zusammensetzen
                     * Einstellung:
                     * nach belieben zusammensetzen und entspr. die .htaccess anpassen
                     */
                    // $title = $name . '-lid-' . $title . '-' . $lid . $end; // Original m-t
                    
$new_url $name '-results-' $titles[$link['pf_id']] . '-' $link['pf_id'] . $new_url;
                    
/**
                     * die globalen Ersetzungsparameter mit den neuen Werten überschreiben
                     * Einstellung: keine, muss exakt so bleiben!
                     */
                    
$replaces[$key] = $link['prefix'] . $new_url $link['suffix'];
                }
            }
        }

        return 
$replaces;
    }
}

?>




Die dazugehörigen Regeln für die .htacces:



# Portfolio
RewriteRule ^Portfolio.html$ mod.php?name=Portfolio [L]
RewriteRule ^Portfolio-category-([^/]+)?\.html$ mod.php?name=Portfolio&op=category&cat_name=$1 [L]
RewriteRule ^Portfolio-results-[^0-9]*-([0-9]+)(-.*)?\.html$ mod.php?name=Portfolio&op=detail&pf_id=$1&_MORE_=$2 [L]

MfG

Peter