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

Problem mit RewriteRule

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Neues Thema Antworten
dahead
PostRank 5
PostRank 5
Beiträge: 206
Registriert: 23.04.2009, 08:07

Beitrag von dahead » 30.04.2009, 11:02

Habe mir schon mehrere Links im Internet angeschaut, unter anderem auch auf modrewrite.de und in dem Forum .. und auf wikipedia und und .. viele lösungsvorschläge ausprobiert, aber kriege es einfach nicht hin :/

Mein Problem ist aber ein ganz einfaches:

1. ich möchte die Dateiendung (.html oder .php) sozusagen entfernen und alle Anfragen intern zb. example.de/kontakt an example.de/kontakt.php leiten lassen

2. möchte ich zb. aus example.de/news.php?title=XYZ example.de/news/XYZ machen. auch hier habe ich bereits einiges ausprobiert, so auch das Prinzip, das bei Wikipedia vorgeschlagen wird:

Code: Alles auswählen

RewriteEngine on
RewriteRule ^/wiki/(.*)$ /w/index.php?title=$1


funktioniert einwandfrei.

jedoch ohne Erfolg .. was kann da schief laufen?

/edit
habe jetzt zum Test ein anderes Anwendungsbeispiel von mod_rewrite von modrewrite.de ausprobiert und es funktioniert ebefalls nicht!

Code: Alles auswählen

RewriteEngine on
RewriteRule ^(.*).html$ $1.php
Aber Befehle wie "ErrorDocument 404" oder "Redirect 301" funktionieren.

Hat jemand eine Idee?

/edit2
Jetzt bin ich mir sicher, dass die Syntax falsch ist!
RewriteRule ^(.*)\.html$ /$1.php [L]
RewriteRule ^ https://www.google.de [R,L]
funktioniert einwandfrei.

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

dahead
PostRank 5
PostRank 5
Beiträge: 206
Registriert: 23.04.2009, 08:07

Beitrag von dahead » 30.04.2009, 14:10

ich glaube, mit meinen /edits hab ich alle etwas verwirrt :)

jedenfalls habe ich ne Menge recherchiert und hab zu 1) eine Lösung gefunden

Code: Alles auswählen

Options -MultiViews
RewriteBase /
RewriteEngine On
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]+\.php
RewriteRule \.php$ - [F,NC,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule .* $0.php [L,NC]

Kristian
PostRank 9
PostRank 9
Beiträge: 1484
Registriert: 20.07.2005, 16:30

Beitrag von Kristian » 30.04.2009, 16:43

Hallo

Falls du glaubst du habest alle mit deinem ersten Posting verwirrt kann das sein.
Bei dem was du gerade postest bin ich auf jeden Fall verwirrt.
Kannst du uns die Lösung erklären und noch viel wichtiger, was sie macht?

Gruß
Kristian
Seo-Check Biete Links zu Schmuck und Hochzeit sowie Artikelplätze für Firmen allgemein.

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.


dahead
PostRank 5
PostRank 5
Beiträge: 206
Registriert: 23.04.2009, 08:07

Beitrag von dahead » 30.04.2009, 16:53

Der Code oben entfernt in dem Fall die .php Dateiendung bei einem URL und verbietet den Zugriff auf die tatsächliche Datei.
Mag sich vielleicht komisch anhören aber mir gefällt ein URL wie example.de/kontakt besser als example.de/kontakt.php

Kristian
PostRank 9
PostRank 9
Beiträge: 1484
Registriert: 20.07.2005, 16:30

Beitrag von Kristian » 30.04.2009, 17:20

Hallo

Im Haarspaltmodus sollte man erst die Rewrite-Engine erst einschalten, dann die Base festlegen.

Bei dem Teil:

Code: Alles auswählen

RewriteCond %{THE_REQUEST} ^[A-Z]+\ /[^?\ ]+\.php
RewriteRule \.php$ - [F,NC,L] 
bewirkt die zweite Zeile, IMHO dass alles mit .php am Ende verboten ist, aber was soll die erste Zeile sagen?
Ich würde es so übersetzen:
Der Request muss am Anfang ein oder mehrere grosse Buchstaben enthalten, gefolgt von einem / und dann das was in der Zeichenklasse steht, also kein Fragezeichen oder Leerzeichen aber das mindestens einmal, danach noch .php
Das Fragezeichen macht für mich (hier unmaskiert) keinen Sinn. Maskiert gäbe es auch keinen, also was bewirkt ein Fragezeichen bei dieser Schreibweise in einer Zeichenklasse?

@mork
Hast du ne Idee?

Gruß
Kristian

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag