Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Mod_Rewrite mit Smarty und reg. Exp.

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
13pixelchen
PostRank 5
PostRank 5
Beiträge: 243
Registriert: 06.10.2005, 21:53

Beitrag von 13pixelchen » 24.11.2005, 20:02

Hi,

Könnte jemand so lieb sein, und mir mal auf die Sprünge helfen? Mod_Rewrite, und OOP sind die zwei letzten großen Geheimnisse, die ich zur Zeit zu lüften versuche. Und die Seite soll aber noch dieses Jahr online gehen. Sagt mir, ob das überhaupt so machbar ist, wie ich es mir vorstelle.

Nutzen will ich mod_rewrite für die eine Richtung und reguläre Ausdrücke zusammen mit dem Smarty Ausgabefilter (https://smarty.php.net/manual/de/advanc ... ilters.php) für die Andere, damit ich auch jede URL erwische. Performance ist relativ egal, weil die Inhalte eh für ne Stunde gecacht werden.

Folgende URL-Beispiele. Gleichbedeutende stehen im Block. In SuMa-freundlichen String umgeschrieben werden soll:

https://www.domain.net/
https://www.domain.net/index.php
https://www.domain.net/index.php?seite=portal

https://www.domain.net/index.php?seite=impressum

https://www.domain.net/index.php?star=vorname-nachname
https://www.domain.net/index.php?star=v ... seite=vita

https://www.domain.net/index.php?star=v ... eite=links

Wie gehe ich da am Besten ran? Das htaccess, welches nicht-www auf www. umleitet steht schon drin. Kann mir jemand einen Tipp geben, wie ich da am Besten rangehe? //edit: Ich hab mir gedacht, am Ende könnte sowas rauskommen:

https://www.domain.net/vorname-nachname/links oder ist das schlecht fürn PR, weil der ja Verzeichnisweise abnimmt?

Anzeige von ABAKUS

von Anzeige von ABAKUS »


Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

13pixelchen
PostRank 5
PostRank 5
Beiträge: 243
Registriert: 06.10.2005, 21:53

Beitrag von 13pixelchen » 24.11.2005, 23:21

Versuch 1:

Code: Alles auswählen

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www.domain.net$ 
RewriteRule ^(.*)$ http://www.domain.net/$1 [L,R=301]

RewriteCond   %{REQUEST_FILENAME}   !-d [NC]
RewriteCond   %{REQUEST_FILENAME}   !-f [NC]

RewriteCond   %{REQUEST_URI}         !^/index\.php [NC]
RewriteRule   ^([^/]+)$              /index.php?seite=$1 [NC]
RewriteRule   ^(.+-[^/]+)$           /index.php?star=$1 [NC]
RewriteRule   ^(.+-[^/]+)/([^/]+)$   /index.php?star=$1&seite=$2 [NC,L]
Geht nur teilweise, alle Bildlinks und CSS-Bildlinks gehen nicht mehr. Die zweiten Doppelzeilen sollen den Zugriff auf existierende Dateien dennoch erlauben. Klappt aber nicht so ganz.

13pixelchen
PostRank 5
PostRank 5
Beiträge: 243
Registriert: 06.10.2005, 21:53

Beitrag von 13pixelchen » 25.11.2005, 17:13

Ich zahle dafür.

//edit: nu hat sichs ja erledigt.
Zuletzt geändert von 13pixelchen am 25.11.2005, 23:15, insgesamt 1-mal geändert.

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


13pixelchen
PostRank 5
PostRank 5
Beiträge: 243
Registriert: 06.10.2005, 21:53

Beitrag von 13pixelchen » 25.11.2005, 23:14

Das Forum sponnte. Also, hat sich in dieser Richtung gelöst. So sieht es jetzt aus:

Code: Alles auswählen

RewriteEngine on 

RewriteCond %{HTTP_HOST} !^www.domain.net$ 
RewriteRule ^(.*)$ http://www.domain.net/$1 [R=301,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond   %{REQUEST_URI}             !^/index\.php 
RewriteRule   ^([^/]+)\.htm$                 /index.php?seite=$1 [L] 
RewriteRule   ^(.+-[^/]+)\.htm$              /index.php?star=$1 [L] 
RewriteRule   ^(.+-[^/]+)/([^/]+)\.htm$      /index.php?star=$1&seite=$2 [L]
und so sieht der Versuch aus, das als preg_replace vom Script generieren zu lassen, dass er alle href ersetzt. Bis "href" stimmts dann auch, der Rest ist Fremd und stimmt so natürlich nicht.

Code: Alles auswählen

$tpl_output = preg_replace&#40;'/<a\s+&#40;.*&#41;href=&#91;\'\"&#93;&#40;&#91;^\'\"&#93;*&#41;\&a?m?p?;?&#40;&#91;^\'\"&#93;*&#41;&#91;\'\"&#93;/i','<a $1href="$2+an+$3"', $tpl_output&#41;;

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag