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

SEO freundliche URL`s mit mod_rewrite?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
hansito
PostRank 1
PostRank 1
Beiträge: 12
Registriert: 22.10.2004, 09:12

Beitrag von hansito » 25.01.2007, 17:45

Hallo,

ich versuche jetzt schon seit einigen Tagen meine dynamischen URL`s suchmaschinenfreundlich darstellen zu lassen.
Über Abakus-Internet-Marketing habe ich folgende Seite mit einem komfortablen URL-Rewriting-Tool gefunden:
https://www.webconfs.com/url-rewriting-tool.php.

Gebe ich meine dynamische URL wie folgt ein: https://www.domain_1.de/datei.php?name=variable
erzeugt mir das Tool diesen Code:

Options +FollowSymLinks
RewriteEngine on
RewriteRule datei-name-(.*)\.htm$ datei.php?name=$1

Dieser Code soll in die .htaccess Datei im entsprechenden Verzeichnis der Domain eingefügt werden.

Da ich dort bereits früher eine .htaccess angelegt habe (zwecks Domainumleitung), habe ich diese einfach nur
erweitert.

Die .htaccess Datei sieht also jetzt so aus:

Options +FollowSymLinks
RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.domain_2\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain_3\.de$
RewriteRule ^(.*)$ https://www.domain_1.de/$1 [L,R=301]

RewriteRule datei-name-(.*)\.htm$ datei.php?name=$1


Leider funktioniert das so nicht. Die Domain wird immer noch dynamisch angezeigt. Hat einer `ne Idee, was ich
falsch gemacht habe? Übrigens, datei.php befindet sich wie die .htaccess auf der obersten Ebene des Verzeichnisses.

Ich würde mich sehr freuen, wenn mir diesbezüglich jemand helfen könnte.

Gruß Volker Hansen

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

ole1210
PostRank 10
PostRank 10
Beiträge: 7464
Registriert: 12.08.2005, 10:40
Wohnort: Olpe

Beitrag von ole1210 » 25.01.2007, 18:59

Ruf probeweise einfach mal www.domain.de/name.html auf. Dann verstehst du, was du gemacht hast.

Jetzt müssen noch alle Links (Menü etc.) geändert werden, sowie die alten seiten per 301 umgeleitet.

hansito
PostRank 1
PostRank 1
Beiträge: 12
Registriert: 22.10.2004, 09:12

Beitrag von hansito » 26.01.2007, 09:44

Ich habe probeweise einmal folgende Adresse aufgerufen:
https://www.domain_1.de/datei-name-variable.html

Ergebnis: "Die angegebene Seite konnte nicht gefunden werden."

Ich habe das Gefühl, dass ich irgendetwas grundlegend falsch mache. Der Code aus dem Generator allein scheint nicht die Lösung zu sein.

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.


chrizz
PostRank 10
PostRank 10
Beiträge: 3044
Registriert: 05.07.2006, 10:37
Wohnort: Berlin

Beitrag von chrizz » 26.01.2007, 10:01

also ich hatte auch desöfteren mal probleme mit der htaccess....hab dann einfach mal ausprobiert und geschaut was üpassiert wenn ich den einen oder anderen befehl raussschmeiße. bin dann letzlich darauf gekommen, dass das followsymlinks bei mir irgendeinen fehler verursacht hat....warum auch immer.
ahc und was ich grad sehe, wo ich mir aber auch nciht wirklich sicher bin :/
muss vor das "datei-name" nicht noch ein ^ ? Also so:
RewriteRule ^datei-name-(.*)\.htm$ datei.php?name=$1

cheers!

hansito
PostRank 1
PostRank 1
Beiträge: 12
Registriert: 22.10.2004, 09:12

Beitrag von hansito » 26.01.2007, 10:29

habe es jetzt auch noch einmal mit und ohne followsymlinks sowie mit und ohne ^ probiert. Ich habe bisher schon etliche Variationen ausprobiert, leider ohne Erfolg.
Deshalb auch meine Frage ob der Code in meiner .htaccess grundlegend richtig ist oder ob ich einen gewaltigen Denkfehler mache.

Gagget
PostRank 2
PostRank 2
Beiträge: 30
Registriert: 02.08.2006, 03:57

Beitrag von Gagget » 26.01.2007, 11:35

Also hin und wieder nutze ich ja auch ModRewrite ;). Fehlt da nicht erstmal eine RewriteRule für %{REQUEST_FILENAME} ? So einfach dahin gesetzt gilt die Rule doch noch für %{HTTP_HOST}, oder ?

Code: Alles auswählen

RewriteCond %{REQUEST_FILENAME}  !-f
RewriteRule  ./datei-name-(.*)\.htm$ datei.php?name=$1
Ist jetzt nur mal so ausm Kopf ... aber so würd ich das machen.
das leitet zum Beispiel "/datei-name-test.htm" nach "/datei.php?name=test" (bzw sollte es)

Hoffe ich konnte helfen
Gruß Gagget

hansito
PostRank 1
PostRank 1
Beiträge: 12
Registriert: 22.10.2004, 09:12

Beitrag von hansito » 26.01.2007, 11:52

Ok, mit
RewriteRule ^datei-name-(.*)\.html$ /datei.php?name=$1 [L,NC]
scheint es zu funktionieren. D.h. es wird die richtige Seite angezeigt, wenn ich www.domain_1.de/datei-name-variable.html aufrufe.
Jetzt müssen noch alle Links (Menü etc.) geändert werden, sowie die alten seiten per 301 umgeleitet.
Ok, die Linkänderungen sind kein Problem aber wie leite ich z.B. die Seite www.domain_1.de/datei.php?name=variable
nach
www.domain_1.de/datei-name-variable.html um?

Hat einer den passenden Code für mich?

bloddy newbie
PostRank 4
PostRank 4
Beiträge: 171
Registriert: 18.05.2006, 20:15

Beitrag von bloddy newbie » 27.01.2007, 18:46

Da du Domain_2 und Domain_3 ja bereits zuvor auf Domain_1 schickst, müssen wir Domain_1 hier nicht mehr berücksichtigen. Bitte beachte, dass die SUMA freundliche Regel oberhalb der 301er Umleitung (also von *.php?blabla nach Suma freundlich) stehen muß. Das L steht dabei für "Last Rule" und htaccess wird bei einem Match auf diese Rule die Suche nach einer weiteren zutreffenden Regeln abbrechen.

Code: Alles auswählen

RewriteCond %{REQUEST_FILENAME}  !-f
RewriteRule  ./datei-name-(.*)\.htm$ $1.php?$2=$3 [L]

RewriteCond %{QUERY_STRING} ^name\=(.*)$ 
RewriteRule datei\.php$ datei-name-%1.htm [R=301]
Falls du das Ganze etwas dynamischer benötigst:

Code: Alles auswählen

RewriteCond %{REQUEST_FILENAME}  !-f
RewriteRule  ./([^-]+)-([^-]+)-(.*)\.htm$ $1.php?$2=$1 [L]

RewriteCond %{QUERY_STRING} ^([^=]+)\=(.*)$ 
RewriteRule ([^/]+)\.php$ $1-%1-%2.htm [R=301]
Bitteschön 8)
BN

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag