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

URL-Design mit mod_rewrite

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
Hurz
PostRank 5
PostRank 5
Beiträge: 311
Registriert: 23.10.2006, 20:26

Beitrag von Hurz » 03.02.2007, 16:20

Ich baue gerade mit etomite ne neue Seite.

Jetzt möchte ich meine URLs gerne SUMA-tauglicher machen und habe mich dem mod_rewrite zugewendet, woraus ich nicht schlau wurde.

Ich will folgendes erreichen:

von

/index.php?id=58

zu

/Keyword1/impressum.html

Hab schon vieles ausprobiert tappe aber immernoch völlig im Dunklen. Vielleicht könnt ihr mir ja helfen.

_____________________________________________
EDIT:

Folgendes steht bereits in der .htaccess

Code: Alles auswählen

# URL rewriting for Etomite CMS
# Last Modified: 2006-03-30 by Ralph Dahlgren
#
# To use friendly URLs for Etomite you need to uncomment the three Rewrite directives
# Make sure RewriteBase points to the directory where you installed Etomite
# e.g. / if your installation is in root
# or /Etomite if your installation is in the Etomite subdirectory
#
# You must be running on Apache with mod_rewrite to be able to use this functionality.
#
# Remember, you must rename this file to .htaccess instead of the default ht.access
#
RewriteEngine On
#
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
_____________________________________________
EDIT2:

In obiger .htaccess ist friendly URL eingeschaltet. (Seite wird als /59.html angezeigt)

Ich habe nun sowohl versucht obigen Code umzuschreiben, als auch friendly URL auszustellen und selbst einen Code einzugeben.

Es blieb bei einem Versuch. :-?

Man kann doch einzelne Unterseiten umschreiben, oder? Oder muss da eine Regel angewendet werden, die für alle Unterseiten gilt? Ich blick grad nicht mehr durch.

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

RW
PostRank 6
PostRank 6
Beiträge: 436
Registriert: 23.07.2003, 08:54

Beitrag von RW » 03.02.2007, 18:11


Hurz
PostRank 5
PostRank 5
Beiträge: 311
Registriert: 23.10.2006, 20:26

Beitrag von Hurz » 07.02.2007, 16:13

Warum funktioniert folgender Code nicht? Hab das jetzt schon mehrfach auf Webseiten gelesen:

Code: Alles auswählen


RewriteEngine on
RewriteRule ^/index\.php?id=59$ /impressum.html
Wäre lieb wenn ihr mir helfen könntet! Will mich jetzt endlich anderen Themen widmen, gibt wichtigeres zu machen als das dumme URL-Design!

Anzeige von ABAKUS

von Anzeige von ABAKUS »

Content Erstellung von ABAKUS Internet Marketing
Ihre Vorteile:
  • einzigartige Texte
  • suchmaschinenoptimierte Inhalte
  • eine sinnvolle Content-Strategie
  • Beratung und Umsetzung
Jetzt anfragen: 0511 / 300325-0

msslovi0
PostRank 1
PostRank 1
Beiträge: 29
Registriert: 07.02.2007, 11:12

Beitrag von msslovi0 » 07.02.2007, 16:20

Ich vermute mal, du willst, dass beim Aufruf von impressum.html index.php?id=59 aufgerufen wird und nicht andersrum.

Code: Alles auswählen

RewriteEngine on 
RewriteRule ^impressum.html$ /index.php?id=59 
Matt

Hurz
PostRank 5
PostRank 5
Beiträge: 311
Registriert: 23.10.2006, 20:26

Beitrag von Hurz » 07.02.2007, 16:23

Hi Matt

Nein nein ich möchte, dass impressum.html angezegt wird statt /index.php?id=59

Aber es tut sich nix. Normalerweise müsste das doch so klappen, oder?

msslovi0
PostRank 1
PostRank 1
Beiträge: 29
Registriert: 07.02.2007, 11:12

Beitrag von msslovi0 » 07.02.2007, 16:26

Genau das macht mein Code. Du rufst https://www.domain.de/impressum.html auf, das steht auch so im Browser, ausgeliefert wird aber https://www.domain.de/index.php?id=59.

Matt

Hurz
PostRank 5
PostRank 5
Beiträge: 311
Registriert: 23.10.2006, 20:26

Beitrag von Hurz » 07.02.2007, 16:30

Hmm es klappt aber nicht.

Ich habe gerade ausprobiert auf impressum.html direkt zu gehen das funktioniert.

Also muss es am etomite-Menue liegen, dass man auf der index.php?id=59 bleibt und nicht weiter geleitet wird.

msslovi0
PostRank 1
PostRank 1
Beiträge: 29
Registriert: 07.02.2007, 11:12

Beitrag von msslovi0 » 07.02.2007, 16:40

Dann hab ich dich wohl doch flashc verstanden. Oder wir reden gekonnt aneinander vorbei :D

Code: Alles auswählen

RewriteEngine On

RewriteCond %{QUERY_STRING} id=59
RewriteRule (.*) impressum.html [L]
Eigentlich sollte ein CMS aber eine solche Funktion haben, dass es anstatt irgendwas aus der Datenbank zusammenzukramen eine beliebige Seite ausgibt oder zumindest dorthin weiterleitet.

Hurz
PostRank 5
PostRank 5
Beiträge: 311
Registriert: 23.10.2006, 20:26

Beitrag von Hurz » 07.02.2007, 16:51

Hmmm wäre zu schön gewesen wenn der Code funktioniert hätte :D

Kommt aber leider das:
Not Found

The requested URL /impressum.html was not found on this server.
Apache/2.2.3 Server at www.domain.de Port 80

Hurz
PostRank 5
PostRank 5
Beiträge: 311
Registriert: 23.10.2006, 20:26

Beitrag von Hurz » 07.02.2007, 17:29

Nur wenn der .htaccess code so aussieht kann ich auch impressum.html direkt aufrufen.

Code: Alles auswählen

RewriteRule ^impressum.html$ /index.php?id=59
so kann ich /impressum.html nicht direkt aufrufen.

Code: Alles auswählen

RewriteRule ^index.php?id=59$ /impressum.html
Mit dem Code den du ober gepostet hast könnte ich ja nur ne Umleitung auf ne reell existierende URL durchführen so wie ich das sehe.

msslovi0
PostRank 1
PostRank 1
Beiträge: 29
Registriert: 07.02.2007, 11:12

Beitrag von msslovi0 » 07.02.2007, 18:43

Ich bin jetzt total verwirrt. Mir ist gerade absolut nicht klar, was du erreichen willst.

https://www.domain.de/index.php?id=59 aufrufen und https://www.domain.de/impressum.html wird gezeigt oder
https://www.domain.de/impressum.html aufrufen und https://www.domain.de/index.php?id=59

Das liest sich, als wenn /impressum.html physikalisch existiert:
Ich habe gerade ausprobiert auf impressum.html direkt zu gehen das funktioniert.
Und das, als wenn sie nicht exisitiert.
The requested URL /impressum.html was not found on this server.
Und zum Thema real existierende URL: Irgendwo muss der Content ja real existieren. Was nicht da ist kann auch nicht angezeigt werden. Es wäre nur wichtig zu wissen, welche die reale URL ist und welche im Browser erscheinen soll. Eine Umleitung ist mein Code aber nicht. Dann würde ein [R=301] hinten dranstehen.

Hurz
PostRank 5
PostRank 5
Beiträge: 311
Registriert: 23.10.2006, 20:26

Beitrag von Hurz » 07.02.2007, 20:08

Ja, genau. impressum.html existiert nicht.
msslovi0 hat geschrieben: https://www.domain.de/index.php?id=59 aufrufen und https://www.domain.de/impressum.html wird gezeigt
Jap, das will ich erreichen.

/index.php?id=59 existiert real.
msslovi0 hat geschrieben: Das liest sich, als wenn /impressum.html physikalisch existiert:
Ich habe gerade ausprobiert auf impressum.html direkt zu gehen das funktioniert.
Nein, ich habe diesen Mod_rewite Code eingefügt:
RewriteRule ^impressum.html$ /index.php?id=59
Dann kann ich wie oben beschrieben direkt auf /impressum.html gehen und es gibt keinen Fehler. Man wird aber nicht darauf weitergeleitet wenn man aufs Menue klickt. Da bleibt man bei index.php....
Is ja auch klar weil der Code funzt ja anders run :Fade-color

Beim normalerweise richtigen Code kann ich aber nicht direkt auf impressum.html gehen und man wird auch nicht von /index.php... auf impressum.html weitergeleitet,

Alle Klarheiten beseitigt? :P

msslovi0
PostRank 1
PostRank 1
Beiträge: 29
Registriert: 07.02.2007, 11:12

Beitrag von msslovi0 » 07.02.2007, 23:13

Spontan würde ich sagen: Das geht mit mod_rewrite nicht.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 08.02.2007, 00:02

Das Problem liegt nicht in der .htaccess zu finden, sondern im restlichen Code Deines CMS.

Wenn Du über Nutzung von modrewrite schöne URLs wie impressum.html haben willst (die dann intern auf index.php?id=59 verweist), muss das CMS natürlich auf impressum.html linken, nicht auf index.php. Demnach musst Du auf dieser Seite ansetzen.

Ich arbeite leider nicht mit Etomite, kenne mich mit diesen CMS daher nicht so aus, aber ich denke, dass Du irgendwo im Backend/Templatesystem "impressum" als Alias für [~58~] setzen musst, damit es geht. Dann müsste es gehen. Diese Info habe ich mir gerade aus dem Thread https://www.etomite.com/forums/index.ph ... =548&st=45 gesogen. Eine bessere Beschreibung, und was ich genau damit meine, findest Du wohl unter https://docs.etomite.com/installation-furls.html.

Wenn die Seite allerdings bisher ohne friendly urls gespidert wurde, muss man zugleich überlegen, wie man auch die Bots, die alten Links folgen, auf die neuen schönen urls umleitet. Ich weiß leider nicht, ob Etomite sich da automatisch drum kümmert.

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag