php.de

Zurück   php.de > Webentwicklung > Server, Hosting und Workstations

Server, Hosting und Workstations Server-Konfigurationsdateien (.htaccess/httpd.conf) und Arbeiten auf Serverebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.12.2009, 17:52  
Erfahrener Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse:
Fortgeschritten
Lightware befindet sich auf einem aufstrebenden Ast
Standard mod_Rewrite mehrere Probleme

Hallo,

ich benötige eure Hilfe bei mod_Rewrite, ich komm damit noch nicht so ganz klar!

folgende Anfragen hab ich zu bewältigen:

1. Ich hab nur PHP Dateien und die möchte ich alle auf html umschreiben.
2. Anfragen auf /2009-12-27 sollen auf /index.php?datum=$1 weitergeleitet werden
3. Anfragen auf anzeigen=2009-12-01 sollen auf /anzeigen.php?datum=$2 weitergeleitet werden.

Ich hoffe ich hab mich richtig ausgedrückt?

Folgendes hab ich schon gemacht:
PHP-Code:
RewriteEngine on
Options 
+FollowSymlinks
RewriteBase 
/
RewriteRule ^(.*).html$ $1.php [C]
RewriteRule ^(.*)$ index.php?datum=$[L
Ich habe soweit ich das erkennen kann, einen Denkfehler drin, da zuerst alle Anfragen auf html an php weitergeleitet werden und im zweiten RewriteRule sage ich ich möchte eine Anfrage auf die PHP-Datei weiterleiten obwohl diese ja schon in .html umgewandelt wurde.

Ich hoffe Ihr könnt mir etwas mehr klarheit in die Sache bringen und mir bei meinen RewriteRules helfen.

Vielen Dank
Grüße
Lightware ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.12.2009, 23:41  
Erfahrener Benutzer
 
Registriert seit: 21.12.2004
Beiträge: 5.240
PHP-Kenntnisse:
Fortgeschritten
mepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblickmepeisen ist ein wunderbarer Anblick
mepeisen eine Nachricht über ICQ schicken mepeisen eine Nachricht über Skype™ schicken
Standard

Wieso soll da ein Fehler sein? Auf jeden Fall ist deine Bedingung für die zweite RewriteRule komisch. Sie sollte am besten so sein, dass sie wirklich auf ein Datum abzielt. Derzeit zielt sie auf alles ab.
__________________
www.php-maven.org PHP und Maven vereint: Build/Deploy/Produktion/Konfiguration, Projekt Management, CI, PHPUnit, zahlreiche Frameworks
Twitter @ https://twitter.com/#!/mepeisen und Facebook @ http://t.co/DZnKSUih
mepeisen ist offline   Mit Zitat antworten
Alt 28.12.2009, 00:54  
Erfahrener Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse:
Fortgeschritten
Lightware befindet sich auf einem aufstrebenden Ast
Standard

Es soll eben, wenn hinter meiner Domain ein Datum steht auf die URL weiterleiten.

Also ich geb http://meine-domain.de/2009-12-28 ein, und er soll mir in der URL-Leiste auch nur das anzeigen, aber eben - im Hintergrund - auf http://meine-domain.de/index.php?datum=2009-12-28.

Verständlicher?

Grüße

EDIT: So weit bin ich aktuell und es funktioniert nicht

PHP-Code:
RewriteEngine on
Options 
+FollowSymlinks
RewriteBase 
/

RewriteRule ^(.*).html$ $1.php

RewriteRule 
^index.(htm|html|phphttp://www.meine-domain.de/ [R=301,L]
RewriteRule ^(.*)/index.(htm|html|phphttp://www.meine-domain.de/$1/ [R=301,L]
RewriteCond %{HTTP_HOST} !^www..*
RewriteRule ^.*$ http://www.meine-domain.de%{REQUEST_URI}\.html [R=permanent,L]
RewriteRule ^/neuertag/(.*)$ http://www.meine-domain.de/anzeigen.php?datum=$1 [R=permanent,L] 
Danke für Hilfe

Geändert von Lightware (28.12.2009 um 02:06 Uhr).
Lightware ist offline   Mit Zitat antworten
Alt 29.12.2009, 15:18  
Erfahrener Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse:
Fortgeschritten
Lightware befindet sich auf einem aufstrebenden Ast
Standard

Sry für das drängen.

Aber ich bin bis heute noch zu keiner Lösung gekommen und ich hab schon alles ausprobiert was mir in den Kopf kommt.

Ich hab noch keinen durchblick in Sachen mod_rewrite obwohl ich jetzt schon ein paar Tutorials durchgemacht habe und
Apache module mod_rewrite
und
modrewrite.de | mod_rewrite Syntax | Die Syntax von mod_rewrite
gelesen habe...

Ich benötige Hilfe...ich versteh es noch nicht so ganz.

Danke
Lightware ist offline   Mit Zitat antworten
Alt 29.12.2009, 15:27  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.991
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Zitat:
3. Anfragen auf anzeigen=2009-12-01 sollen auf /anzeigen.php?datum=$2 weitergeleitet werden.
Das geht IMHO schon mal nicht. Mod Rewrite wertet die Domain- und Pfadangaben aus, nicht aber die URL-Parameter.

Code:
RewriteEngine on

RewriteRule ^/([12]\d{3}-[012]\d-[0123]\d})/?$    /index.php?datum=$1   [NC] [L] [QSA]
RewriteRule ^(.*)\.html$                          $1.php                [NC] [L] [QSA]
Bin nicht sicher, ob MR \d unterstützt. Wenn nicht, kannst Du auch [0-9] benutzen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 29.12.2009, 19:05  
Supermoderator HD
 
Benutzerbild von Manko10
 
Registriert seit: 16.03.2008
Beiträge: 8.709
PHP-Kenntnisse:
Fortgeschritten
Manko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende ZukunftManko10 hat eine strahlende Zukunft
Standard

Schön mal RewriteCond versucht?
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 29.12.2009, 19:07  
Erfahrener Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse:
Fortgeschritten
Lightware befindet sich auf einem aufstrebenden Ast
Standard

Hi,

danke für deine Hilfe.

Funktioniert soweit ganz gut, bis auf das hinter meiner Domain nach dem Slash noch die Variable mit Parameter stehen also /?datum=2009-12-21

Hier meine htaccess mit dem etwas abgeänderten Code von dir.

PHP-Code:
RewriteEngine on
Options 
+FollowSymlinks
RewriteBase 
/

RewriteRule ^([0-9]{4}-[0-9]{2}-[0-9]{2})$    index.php?datum=$1   [NC] [L] [QSA]
RewriteRule ^(.*).html$                          $1.php                [NC] [L] [QSA]

#RewriteRule ^(.*).html$ $1.php

## rewrite the index file in your root directory ##
## this should work, regardless if you have index.html, index.htm,
## or index.php
RewriteRule ^index.(htm|html|php)$ http://www.meine-domain.de/ [R=301,L]
## rewrite the index file in subdirectories
RewriteRule ^(.*)/index.(htm|html|php)$ http://www.meine-domain.de/$1/ [R=301,L]

## match condition: skip any www requests
##  or another way of saying this - match anything that doesn't start
##  with www
RewriteCond %{HTTP_HOST} !^www..*
##  change any requests to www.meine-domain.de
##   combined with the above RewriteCond means any
##   non-www requests are redirected to www.meine-domain.de
##   the %{REQUEST_URI} appends whatever url to www.meine-domain.de
#RewriteRule ^.*$ http://www.meine-domain.de%{REQUEST_URI} [R=permanent,L]
#RewriteRule ^.*$ http://www.meine-domain.de%{REQUEST_FILENAME}\.html [R=permanent,L] 
An was könnte das liegen?

Auch die [NC] [QSA] verstehe ich nicht so ganz was die bewirken, auch ausgehend von der engl. Apache MR Beschreibung nicht.

Grüße
Lightware ist offline   Mit Zitat antworten
Alt 29.12.2009, 19:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.991
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

[NC] non-case sensitiv = .HTML und .html werden gleichermaßen gematcht
[QSA] query string append:

/2009-07-08/?page=2&abc=cde
wird zu
/index.php?datum=2009-07-08&page=2&abc=cde
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Alt 30.12.2009, 16:10  
Erfahrener Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse:
Fortgeschritten
Lightware befindet sich auf einem aufstrebenden Ast
Standard

Verstehe!

Vielen Dank.

Was ich allerdings nicht verstehe ist, warum er das ?datum=xxxx-xx-xx hinten dran hängt, beim anzeigen-Beispiel funktioniert das einwandfrei!

Meine .htaccess

PHP-Code:
RewriteEngine on
Options 
+FollowSymlinks
RewriteBase 
/


RewriteRule ^([0-9]{4}-[0-9]{2}-[0-9]{2})$ index.php?datum=$[NC] [L] [QSA]
RewriteRule ^anzeigen/([0-9]{4}-[0-9]{2}-[0-9]{2})$ anzeigen.php?datum=$[NC] [L] [QSA]
RewriteRule ^(.*).html$ $1.php [NC] [L]

RewriteRule ^index.(htm|html|php)$ http://www.meine-domain.de/ [R=301,L]

RewriteRule ^(.*)/index.(htm|html|php)$ http://www.meine-domain.de/$1/ [R=301,L]

RewriteCond %{HTTP_HOST} !^www..* 
An was könnte das liegen?

Grüße

Geändert von Lightware (30.12.2009 um 16:22 Uhr).
Lightware ist offline   Mit Zitat antworten
Alt 01.01.2010, 14:48  
Erfahrener Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 131
PHP-Kenntnisse:
Fortgeschritten
Lightware befindet sich auf einem aufstrebenden Ast
Standard

Problem ist auch, ich hab zwei verschiedene URLs zum steuern.

Einmal: http://meine-domain.de/anzeigen.php?m=01&y=2010
Und: http://meine-domain.de/anzeigen.php?datum=2010-01-01

Bei letzterem funktioniert die RewriteRule einwandfrei:
PHP-Code:
RewriteRule ^anzeigen/([0-9]{4}-[0-9]{2}-[0-9]{2})$ anzeigen.php?datum=$[NC] [L] [QSA

Kann ich die beiden irgendwie zusammenlegen oder benötige ich eine neue Rule?
Und was ist mit meinem vorherigen Problem, warum zeigt mir
PHP-Code:
RewriteRule ^([0-9]{4}-[0-9]{2}-[0-9]{2})$ index.php?datum=$[NC] [L] [QSA
am Ende der URL noch das ?datum=xxxx-xx-xx an?

Danke
Glückwünsche fürs neue Jahr
Lightware ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] fopen() Probleme jN^ PHP Tipps 2009 2 18.08.2009 12:31
Win+Firefox alles ok, IE oder Linux: Probleme vollderdude PHP Tipps 2009 6 02.01.2009 16:17
[Erledigt] Probleme mit iFrame rocco HTML, Usability und Barrierefreiheit 1 28.12.2008 17:44
Probleme bei Speicherung von serialize() Strings Manni2k PHP Tipps 2006 13 15.10.2006 15:06
Probleme mit mbstring extension unter Debian HStev Server, Hosting und Workstations 3 30.08.2006 20:55
Probleme mit Rechteverteilung chmod() per script!!!??? Funky_ PHP Tipps 2006 7 17.06.2006 17:10
Probleme bei der Installation von Turck MMCache tomx992 PHP-Fortgeschrittene 2 27.09.2005 20:31
Probleme beim Datenupload zu meiner Datenbank Datenbanken 3 05.09.2005 19:47
Probleme mit Sonderzeichen... Datenbanken 1 02.08.2005 23:37
[Erledigt] hilfe! probleme mit... PHP Tipps 2005 4 12.04.2005 22:55
[Erledigt] CSV Größe macht Probleme mit php PHP Tipps 2005 5 15.03.2005 21:29
Zwei Rechner ins Netz - Router - Hub - Probleme... imported_Ben Off-Topic Diskussionen 37 13.01.2005 21:36
[Erledigt] Technische Probleme mit Sessions PHP-Fortgeschrittene 4 18.11.2004 14:45
[Erledigt] Probleme mit Fremdsprachen HTML, Usability und Barrierefreiheit 2 21.09.2004 17:11
PHP Bilder in DB / Probleme bei Änderung PHP-Fortgeschrittene 1 05.06.2004 11:20

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
mod_rewrite nc, mod_rewrite rewriterule csv, http://www.php.de/server-hosting-und-workstations/62706-mod_rewrite-mehrere-probleme.html, mod_rewrite mit umlauten, was bedeutet [nc,l,qsa], php mod_rewrite, mod_rewrite datum, mod_rewrite qsa, mod_rewrite php systax, rewriterule ^(.*)\\.htm$ $1.php [nc], rewriterule ^(.*)$ http://www.umlaut-domain.de/$1 [r=301,nc][or], rewriterule ^(.*)$ http://www.umlaut-domain.de/$1 [r=301,nc], rewrite engine hängt zu oft dran, modrewrite \$1\ syntax what means, rewriteengine on rewriterule ^(.*)\\.htm$ $1.php [nc], mod_rewrite syntax, rewrite umlaut domain, mod_rewrite umlaute, mod_rewrite n,c, umlaute apache mod_rewrite

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum