Seite 1 von 1

DC durch Content Negotiation

Verfasst: 10.04.2007, 11:33
von Thomas2
Beim Apachen ist scheinbar Content Negotiation standardmäßig aktiviert, so dass URLs ohne Dateiendung verwendet werden können. Das ist mir durchaus sympatisch, allerdings ist die Webseite nach wie vor auch unter dem tatsächlichen Dateinamen erreichbar, die URLs

https://www.meinedomain.tld/test
https://www.meinedomain.tld/test.html

haben demnach den gleichen Inhalt. Kann man das irgendwie abstellen, so dass nur noch die erste Variante ohne Dateiendung geht?

Nachdem "RewriteRule ^(.*).html$ $1.php" von .html auf .php weiterleitet, dachte ich mir "RewriteRule ^(.*).html$ $1" könnte es richten. Dummerweise bekomme ich da nur einen Internal Server Error. Wie macht man es richtig?

MfG
Thomas

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

Verfasst: 10.04.2007, 14:15
von chris21
Hallo Thomas,

folgender Code am Anfang Deiner .htaccess sollte helfen:

Code: Alles auswählen

Options -Multiviews
MfG,

Chris

Verfasst: 10.04.2007, 15:25
von Thomas2
chris21 hat geschrieben:folgender Code am Anfang Deiner .htaccess sollte helfen:

Code: Alles auswählen

Options -Multiviews
Tja, damit funktioniert dann zwar die RewriteRule an sich, aber nachdem es danach die https://www.meinedomain.tld/test nicht mehr gibt, kommt halt ein "404 Not Found". Ich wollte eigentlich die Content Negotiation über die URL https://www.meinedomain.tld/test behalten, und die Orginaldatei https://www.meinedomain.tld/test.html nach außen unsichtbar machen.

MfG
Thomas

Verfasst:
von

Verfasst: 10.04.2007, 15:59
von heino
Versuch doch mal folgendes:

Code: Alles auswählen

RewriteCond %{THE_REQUEST} \.html [NC] 
RewriteRule ^(.*)\.html /$1 [L,R=301]

Verfasst: 10.04.2007, 16:22
von Thomas2
heino hat geschrieben:Versuch doch mal folgendes:

Code: Alles auswählen

RewriteCond %{THE_REQUEST} \.html [NC] 
RewriteRule ^(.*)\.html /$1 [L,R=301]
Danke, so funktioniert es.

MfG
Thomas