2011-01-04 11 views
0
Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^readnews/([0-9]+)\.html$ readnews.php?news_art_id=$1 

Das funktioniert, aber vermasselt meine Bilder.Unerwünschte Erweiterung .html nach der Regel mod_rewrite

Der Ordner Bilder befindet sich in einem Verzeichnis vor der URL http://localhost/newsdev/images, aber nach dem erneuten Schreiben bekomme ich http://localhost/newsdev/readnews/123.html.

Bitte wie kann ich auch umschreiben, um die .html zu entfernen?

Ich hätte gerne http://localhost/newsdev/readnews/123.

Antwort

0

Der Ausdruck, den Sie geschrieben nutzen konnten haben sollten keine übereinstimmenden Bilder sein. Es ist möglich, dass Sie die Symptome falsch verstanden haben.

Meine Vermutung ist, dass Sie Bilder mit einem relativen Pfad mögen. Da Sie das HTML-Dokument verschieben, müssen Sie die Pfade entsprechend korrigieren.

  • images/foo.jpg von /newsdev/readnews.php ist /newsdev/images/foo.jpg [X]
  • images/foo.jpg von /readnews/314.html ist /readnews/images/foo.jpg [OK]

Oder Sie können einfach absolute Pfade verwenden:

  • /newsdev/images/foo.jpg ist immer /newsdev/images/foo.jpg

Wenn Sie das Suffix .html entfernen, existiert es nicht, bis Sie es selbst dort abgelegt haben. Fügen Sie es einfach nicht hinzu:

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ^readnews/([0-9]+)$ readnews.php?news_art_id=$1 
+0

Vielen Dank. Bitte wie kann ich http: //localhost/newsdev/news.php ---- zu http: // localhost/newsdev/news umschreiben –

1

Dies wird nicht neu schreiben, wenn die Anfrage auf der Festplatte eine Datei oder ein Verzeichnis ist

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

die HTML am Ende entfernen Sie

RewriteRule ^readnews/([0-9]+)$ readnews.php?news_art_id=$1 
Verwandte Themen