Zum Inhalt springen
Thread.htaccess

htacess - Dateiendungen entfernen

Kategorie
.htaccess
Antworten
3
Erstellt von: gelöschter Benutzer Datum: 11.10.2011, 19:31 Uhr
Archiv-KommentarArchiviert, nicht priorisiertRedirects, Relaunch & Statuscodes

Redaktionelle Einordnung

Diese archivierte Diskussion behandelt htacess - Dateiendungen entfernen aus Sicht der Rubrik .htaccess.

Bei Umzügen, Relaunches und Weiterleitungen entscheiden heute saubere Redirect-Ketten, Statuscodes und Konsistenz über Rankings und Nutzersignale.

Sinnvoll nutzbar bleibt der Thread vor allem als historischer Kontext, für typische Fragestellungen und zur Einordnung älterer Empfehlungen.

Einige im historischen Thread genannte Tools, Dienste oder externe Links könnten heute nicht mehr verfügbar oder inhaltlich überholt sein. Nutzen Sie sie bitte nur mit zusätzlicher Prüfung.

Startbeitrag

Originaler Foreninhalt in modernisierter Darstellung.

Zur Kategorie
gelöschter Benutzer
Threadstart · .htaccess 5956 mal gelesen · 11.10.2011, 19:31 Uhr

Ich bräuchte mal Hilfe bei einem Thema, bei dem Google versagt hat

Ich will die Dateiendungen mit php entfernen, dafür habe ich

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php

eingetragen habe.

Problem

die Seite ist damit mit

domain/seite
bzw
Domain/seite.php

aufrufbar

Wie bekomme ich bei einem Aufruf mit php-Endung die Seite ohne php angezeigt? Danke im voraus.

Antworten

3 Beiträge
gelöschter Benutzer · 11.10.2011, 19:33 Uhr
Antwort

Hallo Matthias

Das sollte reichen.

RewriteRule ^(.*)\\.php$ $1 [L,R=301]

Gruß
Jörg

gelöschter Benutzer · 11.10.2011, 19:46 Uhr
Antwort

Ich habbe es am Schluss eingefügt, da ein paar Umleitungen aktiv sind.
Da kam aber leider die Fehlermeldung:

The requested URL /webspace/13/45718/mv-trip.de/greifswald/bauwerke was not found on this server.

Der Inhalt der htacess ist:

<Files ~ "^\\.(htaccess|htpasswd)$">
deny from all
</Files>
Options -MultiViews
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(mv-trip\\.de)(:80)? [NC]

RewriteRule ^(.*) www.mv-trip.de/$1 [R=301,L]




RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\\ /([^.]+\\.)+htm\\ HTTP
RewriteRule ^([^.]+)\\.htm /$1.php [R=301,L]


hier kommen jetzt lauter Redirects von php-seitn zu php-seiten


<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
</IfModule>

hier stand dann der Code von dir
gelöschter Benutzer · 11.10.2011, 20:14 Uhr
Antwort

Hallo Matthias

Ich habe eh die Schleife vergessen die dadurch entstehen sollte und halt eben noch etwas.

So der zweite Schritt wäre jetzt deine Dateien in ein anderes Verzeichnis zu verschieben.

Das Verzeichnis müsste dann ausgeschlossen werden aus der Regel und halt eben bei einem Aufruf auf das neue Verzeichnis sich die Seite dann dort holen.

So ich habe mit meinem Wiki was ähnliches gemacht. Nachdem ich mir hier Inspiration geholt hatte.
http://www.mediawiki.org/wiki/Manual:Short_URL/wiki/Page_title_--_DreamHost_Shared_Hosting

Auf jeden Fall ist es nicht so leicht hinzubekommen und du brauchst schon 2 Angaben in der htaccess. Die eine die dir die Dateiendung entfernt und die andere die dafür sorgt das die betreffende Seite wieder geladen wird.

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} index\\.php
RewriteCond %{QUERY_STRING} title=([^&]*)$
RewriteRule ^.*$ /wiki/%1? [R=301,B]

RewriteCond %{REQUEST_URI} !index\\.php
RewriteCond %{QUERY_STRING} ^$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /wiki/?title=$1 [PT,L,QSA,B]
</IfModule>

Gruß
Jörg