.htaccess | Sprechende URLs
Hallo leute,
mein problem ist das, ich muss eine bestehende Website Suchmaschinenoptimieren allerdings ohne den Grundaufbau zu verändern.
Ein derzeitiger Link sieht folgend aus:
http://www.domain.de/?open=leistungen&m=1 (im folgenden L1)
http://www.domain.de/?open=referenzen&m=2 (im folgenden L2)
(&m=x) steht für die jeweiligen Metatags die aufgerufen werden.
Der .htaccess möchte ich nun verklickern, diese soll wenn ich einen Link mit der URL http://www.domain.de/referenzen (im folgenden S2) klicke, L2 aufrufen und S2 im Adressfeld anzeigen.
Wie mache ich das am besten?
Ich hoffe auf schnelle Antwort.
Besten gruß
René
mein problem ist das, ich muss eine bestehende Website Suchmaschinenoptimieren allerdings ohne den Grundaufbau zu verändern.
Ein derzeitiger Link sieht folgend aus:
http://www.domain.de/?open=leistungen&m=1 (im folgenden L1)
http://www.domain.de/?open=referenzen&m=2 (im folgenden L2)
(&m=x) steht für die jeweiligen Metatags die aufgerufen werden.
Der .htaccess möchte ich nun verklickern, diese soll wenn ich einen Link mit der URL http://www.domain.de/referenzen (im folgenden S2) klicke, L2 aufrufen und S2 im Adressfeld anzeigen.
Wie mache ich das am besten?
Ich hoffe auf schnelle Antwort.
Besten gruß
René
12.02.2010 14:18
Das wird so nicht möglich sein, da man auch noch wissen muss, welchen Wert m haben soll; diesen Wert müsstest du also auch noch mit in die statische URL übernehmen, z.B. http://www.domain.de/2-referenzen. Mit Mod_rewrite ließe sich das dann so realisieren:
RewriteEngine on
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$1
12.02.2010 15:15 | geändert: 12.02.2010 15:16
Ok vielen Dank. Ist der Wert (2) ersetzbar durch ein Wort?
Bin grad ni am Arbeitsrechner :)
Bin grad ni am Arbeitsrechner :)
12.02.2010 15:21
Wenn du das auswertende Script so umprogrammierst, dass es auch was mit ?open=referenzen&m=irgendeinwort etwas anfangen kann, ja - ansonsten nein.
12.02.2010 15:32
Öhm nein.
ok, nochmal zum festhalten damit ich das später versuchen kann:
ich kopiere nun für jeden Link (insgesammt 6 Links) jeweils 6 von diesen zeilen in die .htaccess
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$1
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$2
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$3
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$4
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$5
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$6
und jede Zeile führt mich dann auf folgende URLS
http://www.domain.de/1-unternehmen
http://www.domain.de/2-leistung
http://www.domain.de/3-projekte
http://www.domain.de/4-referenzen
http://www.domain.de/5-kontakt
http://www.domain.de/6-impressum
?? :)
ok, nochmal zum festhalten damit ich das später versuchen kann:
ich kopiere nun für jeden Link (insgesammt 6 Links) jeweils 6 von diesen zeilen in die .htaccess
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$1
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$2
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$3
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$4
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$5
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$6
und jede Zeile führt mich dann auf folgende URLS
http://www.domain.de/1-unternehmen
http://www.domain.de/2-leistung
http://www.domain.de/3-projekte
http://www.domain.de/4-referenzen
http://www.domain.de/5-kontakt
http://www.domain.de/6-impressum
?? :)
12.02.2010 15:43
Nein, du benötigst nur diese eine Zeile für alle URLs dieses Musters:
$1 nimmt den ersten und $2 den zweiten geklammerten Ausdruck im Muster wieder auf
RewriteRule ^([0-9]+)-(.+)$ ?open=$2&m=$1
$1 nimmt den ersten und $2 den zweiten geklammerten Ausdruck im Muster wieder auf
12.02.2010 15:47
Alles klar :) Dann werde ich das mal versuchen. Ich hab hier auf arbeit gerade FTP Zugang zum projekt bekommen. ich würde das gern mit der Derzeitigen Struktur mal versuchen die so aussieht:
http://www.domain.de/?open=leistungen
Also ohne das &m=x
Wie würde das denn bei dieser Variante aussehen? Bin völliger blödi im htaccess bereich :)
http://www.domain.de/?open=leistungen
Also ohne das &m=x
Wie würde das denn bei dieser Variante aussehen? Bin völliger blödi im htaccess bereich :)
12.02.2010 15:56
ich würde das dann so machen:
"[^/^\.]" beinhaltet alle Zeichen außer dem Punkt und dem Slash, so dass keine Dateien mit Punkt (robots.txt, Bilddateien etc.) und Verzeichnisse rewritet werden
RewriteRule ^([^/^\.]+)$ ?open=$1
"[^/^\.]" beinhaltet alle Zeichen außer dem Punkt und dem Slash, so dass keine Dateien mit Punkt (robots.txt, Bilddateien etc.) und Verzeichnisse rewritet werden
12.02.2010 16:59
Danke sehr. Funktioniert natürlich :)
Obige variante werde ich später versuchen. Wird schon klappen. Danke für die schnelle Hilfe
Besten gruß
René
Obige variante werde ich später versuchen. Wird schon klappen. Danke für die schnelle Hilfe
Besten gruß
René
12.02.2010 17:10
Hallo Jörg,
also irgendwie klappt das nicht. Einerseits werden keine CSS dateien geladen und andererseits werden die Dynamischen Inhalte nicht ausgegeben.
Hier mal das Script etwas verkürzt:
<?PHP /* META DATEIEN (SEO) */
if(!isset($_GET['m'])) $_GET['m'] = '1';
if($_GET['m']){switch($_GET['m']){
case 1: include("include/_doctype/meta-unternehmen.php"); break;
}} ?>
<?PHP /* STARTSEITE (index.php) */
if(!isset($_GET['open'])) $_GET['open'] = "unternehmen";
/* CONTENT */
elseif($_GET['open']=="unternehmen")include("unternehmen.php");
/* ERROR 404 :: Weiterleitung auf Startseite */
else include("error.php"); ?>
Ein Link sieht dann so aus: ?open=unternehmen&m=1
Wie ist das zu erklären?
Danke und beste Grüße
René
also irgendwie klappt das nicht. Einerseits werden keine CSS dateien geladen und andererseits werden die Dynamischen Inhalte nicht ausgegeben.
Hier mal das Script etwas verkürzt:
<?PHP /* META DATEIEN (SEO) */
if(!isset($_GET['m'])) $_GET['m'] = '1';
if($_GET['m']){switch($_GET['m']){
case 1: include("include/_doctype/meta-unternehmen.php"); break;
}} ?>
<?PHP /* STARTSEITE (index.php) */
if(!isset($_GET['open'])) $_GET['open'] = "unternehmen";
/* CONTENT */
elseif($_GET['open']=="unternehmen")include("unternehmen.php");
/* ERROR 404 :: Weiterleitung auf Startseite */
else include("error.php"); ?>
Ein Link sieht dann so aus: ?open=unternehmen&m=1
Wie ist das zu erklären?
Danke und beste Grüße
René
14.02.2010 17:26
| Thema | Autor | Forum | Beiträge | Letzter Beitrag |
|---|---|---|---|---|
| Weiterleiten einer URL abhängig vom Query String | Marco | Server | 15 | 15.06.2010 19:18 |
| Umleitung einer alias Domain auf statischen Inhalt - Typo3 Installation htaccess | rolib | Server | 5 | 19.05.2010 19:30 |
| Groß- und Kleinschreibung in URLs ohne DC | Tom | SEO | 4 | 19.09.2009 12:35 |
| .htaccess: einen trailing slash anfügen | Petra | Server | 11 | 06.09.2009 14:06 |
| 301 Weiterleitung | Jörg | Server | 372 | 12.08.2009 20:06 |
| Seltsame Statistik | stralsunder | Traffic-Analyse | 5 | 23.04.2009 18:34 |
| Suchmaschinenfreundliche URLs mit mod_rewrite | Frank | SEO | 6 | 10.01.2007 08:57 |
| sef urls mit mysql | Max | PHP und MySQL | 7 | 19.12.2005 00:03 |
