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 14.01.2008, 17:04  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard Mod Rewrite: home.php zu index.php?content=home greift nicht

Hi Ihr Forenuser,

ich hab da so ein Problem Meine Seiten wird aktuell gerade wie folgt aufgerufen:

index.php?content=home
(Aufruf funktioniert ohne Probleme, wenn ich "RewriteEngine off" in meiner .htaccess stehen habe)

Es wird also der Inhalt anhand des Parameters "content" eingefügt. Nun wollte ich die URLs ein wenig "schöner" aussehen lassen. Dazu habe ich folgende RewriteRule in meine .htaccess geschrieben:

Code:
RewriteEngine on
RewriteRule ^([^/.]+)\.php$   index.php?content=$1 [NC,L]
RewriteRule ^([^/.]+)$        index.php?content=$1 [NC,L]
Wenn ich nun "home.php" aufrufe, wird der inhalt nicht angezeigt, sondern mein definierter Fehler "Content nicht gefunden". Zurückzuführen darauf, dass nun in der Variable nicht "home" sondern "index" steht. Woran kann das denn liegen? Ich bin sowas von ratlos, da sollte doch eigentlich "home" enthalten sein.

Vielen Danke für jeden Tipp und eure Hilfe

Grüße
Psy
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 14.01.2008, 19:25  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Was macht der Punkt in den eckigen Klammern?
Zergling-new ist offline   Mit Zitat antworten
Alt 15.01.2008, 00:02  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Lass dir mal das $_REQUEST-Array in PHP ausgeben. Evtl. findest du dort Hinweise.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline   Mit Zitat antworten
Alt 15.01.2008, 05:33  
Erfahrener Benutzer
 
Registriert seit: 16.07.2005
Beiträge: 1.007
PHP-Kenntnisse:
Fortgeschritten
brian johnson befindet sich auf einem aufstrebenden Ast
Standard

und auch $_SERVER
__________________
PHP4?!?>>>Aktuelle PHP Version: 5.2.11 || 5.3.0
Suse 11.2 *vorfreude*
brian johnson ist offline   Mit Zitat antworten
Alt 17.01.2008, 12:41  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Der Punkt ist nur dazu da, dass dieser in der Rule nicht mitaufgeschnappt wird, also nicht erlaubt oder wie man auch sagen möchte.

Ausgaben habe ich mir ausgeben lassen und natürlich analysiert, jedoch nichts auffällliges entdecken können, geschweige denn eine Lösung für das Fehlverhalten entdeckt.

Hier mal die Ausgaben beim aufruf von "home.php"

Ausgabe » $_REQUEST

Code:
Array
(
    [content] => index
    [sid] => a6988a489500121fcb14f89beafb5166
)
Ausgabe » $_SERVER

Code:
Array
(
    [HTTP_HOST] => localhost
    [HTTP_USER_AGENT] => Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
    [HTTP_ACCEPT] => application/x-shockwave-flash,text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
    [HTTP_ACCEPT_LANGUAGE] => de-de,de;q=0.8,en-us;q=0.6,en;q=0.4,pl;q=0.2
    [HTTP_ACCEPT_ENCODING] => gzip,deflate
    [HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.7
    [HTTP_KEEP_ALIVE] => 300
    [HTTP_CONNECTION] => keep-alive
    [HTTP_REFERER] => http://localhost/_seiten/
    [HTTP_COOKIE] => sid=a6988a489500121fcb14f89beafb5166
    [HTTP_CACHE_CONTROL] => max-age=0
    [PATH] => C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;C:\Programme\Sybase\SQL Anywhere 9\Win32;D:\Ultra-Edit32;D:\QuickTime\QTSystem\;C:\Programme\Gemeinsame Dateien\Ulead Systems\MPEG
    [SystemRoot] => C:\WINDOWS
    [COMSPEC] => C:\WINDOWS\system32\cmd.exe
    [PATHEXT] => .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
    [WINDIR] => C:\WINDOWS
    [SERVER_SIGNATURE] => 
Apache/2.2.6 (Win32) DAV/2 mod_ssl/2.2.6 OpenSSL/0.9.8g mod_autoindex_color PHP/5.2.5 Server at localhost Port 80


    [SERVER_SOFTWARE] => Apache/2.2.6 (Win32) DAV/2 mod_ssl/2.2.6 OpenSSL/0.9.8g mod_autoindex_color PHP/5.2.5
    [SERVER_NAME] => localhost
    [SERVER_ADDR] => 127.0.0.1
    [SERVER_PORT] => 80
    [REMOTE_ADDR] => 127.0.0.1
    [DOCUMENT_ROOT] => D:/xampp/htdocs
    [SERVER_ADMIN] => admin@localhost
    [SCRIPT_FILENAME] => D:/xampp/htdocs/_seiten/xxx/index.php
    [REMOTE_PORT] => 1900
    [GATEWAY_INTERFACE] => CGI/1.1
    [SERVER_PROTOCOL] => HTTP/1.1
    [REQUEST_METHOD] => GET
    [QUERY_STRING] => content=index
    [REQUEST_URI] => /_seiten/xxx/
    [SCRIPT_NAME] => /_seiten/xxx/index.php
    [PHP_SELF] => /_seiten/xxx/index.php
    [REQUEST_TIME] => 1200558784
    [argv] => Array
        (
            [0] => content=index
        )

    [argc] => 1
)
Ich kapiers irgendwie nicht. Ich hab schon so komplizierte Rules hinbekommen, aber der einfachste möchte einfach nicht.

Und Mod Rewrite läuft, zumindestens sagt mir das meine liebe PHP Info

Noch jemand eine Idee? Danke auf jeden Fall euch auch beiden Dr.e und Brian, vielleicht erkennt ihr noch etwas. Und auch dir Zergling.

Stimmt was mit dem Punkt nicht?

Grüße
Psy

Edith sagt:

Wenn ich nun die RewriteEngine auf off stelle und "index.php?content=home" aufrufe, gibt REQUEST auch das aus, was ausgegeben werden sollte:

Ausgabe » $_REQUEST

Code:
Array
(
    [content] => home
    [sid] => a6988a489500121fcb14f89beafb5166
)
Mysterious
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)

Geändert von cycap (29.07.2008 um 10:47 Uhr).
PsychoEagle ist offline   Mit Zitat antworten
Alt 17.01.2008, 13:11  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Hab mir die Log von Mod Rewrite zu Herzen genommen, konnte aber keinen Fehler entdecken und irgendwas stimmt da nicht hab ich den Anschein. Erst macht er es richtig mit "index.php?content=home" und dann kommt er auf "index.php?content=index"

Code:
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#6c891b8/initial] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] strip per-dir prefix: D:/xampp/htdocs/_seiten/xxx/home.php -> home.php
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#6c891b8/initial] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] applying pattern '^([^/.]+)\.php$' to uri 'home.php'
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#6c891b8/initial] (2) [perdir D:/xampp/htdocs/_seiten/xxx/] rewrite 'home.php' -> 'index.php?content=home'
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#6c891b8/initial] (3) split uri=index.php?content=home -> uri=index.php, args=content=home
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#6c891b8/initial] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] add per-dir prefix: index.php -> D:/xampp/htdocs/_seiten/xxx/index.php
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#6c891b8/initial] (2) [perdir D:/xampp/htdocs/_seiten/xxx/] strip document_root prefix: D:/xampp/htdocs/_seiten/xxx/index.php -> /_seiten/xxx/index.php
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#6c891b8/initial] (1) [perdir D:/xampp/htdocs/_seiten/xxx/] internal redirect with /_seiten/xxx/index.php [INTERNAL REDIRECT]
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#c48520/initial/redir#1] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] strip per-dir prefix: D:/xampp/htdocs/_seiten/xxx/index.php -> index.php
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#c48520/initial/redir#1] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] applying pattern '^([^/.]+)\.php$' to uri 'index.php'
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#c48520/initial/redir#1] (2) [perdir D:/xampp/htdocs/_seiten/xxx/] rewrite 'index.php' -> 'index.php?content=index'
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#c48520/initial/redir#1] (3) split uri=index.php?content=index -> uri=index.php, args=content=index
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#c48520/initial/redir#1] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] add per-dir prefix: index.php -> D:/xampp/htdocs/_seiten/xxx/index.php
127.0.0.1 - - [17/Jan/2008:13:03:57 +0100] [localhost/sid#35c1d8][rid#c48520/initial/redir#1] (1) [perdir D:/xampp/htdocs/_seiten/xxx/] initial URL equal rewritten URL: D:/xampp/htdocs/_seiten/xxx/index.php [IGNORING REWRITE]
Erkennt jemand von euch da etwas? Bin nicht so fit mit dem Ganzen wie man sicherlich merkt
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)

Geändert von cycap (29.07.2008 um 10:49 Uhr).
PsychoEagle ist offline   Mit Zitat antworten
Alt 17.01.2008, 13:42  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Also ich würde das so umwandeln

RewriteEngine On
RewriteRule ^(.*)\.php$ index.php?content=$1
Zergling-new ist offline   Mit Zitat antworten
Alt 17.01.2008, 14:30  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Selbst da hab ich das selbe Phänomen

Auszug aus der Log sieht dort auch so wie oben aus:

Code:
[rid#ba1c48/initial] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] strip per-dir prefix: D:/xampp/htdocs/_seiten/xxx/home.php -> home.php
[rid#ba1c48/initial] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] applying pattern '^(.*)\.php$' to uri 'home.php'
[rid#ba1c48/initial] (2) [perdir D:/xampp/htdocs/_seiten/xxx/] rewrite 'home.php' -> 'index.php?content=home'
[rid#ba1c48/initial] (3) split uri=index.php?content=home -> uri=index.php, args=content=home
[rid#ba1c48/initial] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] add per-dir prefix: index.php -> D:/xampp/htdocs/_seiten/xxx/index.php
[rid#ba1c48/initial] (2) [perdir D:/xampp/htdocs/_seiten/xxx/] strip document_root prefix: D:/xampp/htdocs/_seiten/xxx/index.php -> /_seiten/xxx/index.php
[rid#ba1c48/initial] (1) [perdir D:/xampp/htdocs/_seiten/xxx/] internal redirect with /_seiten/xxx/index.php [INTERNAL REDIRECT]
[rid#ba8fd8/initial/redir#1] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] strip per-dir prefix: D:/xampp/htdocs/_seiten/xxx/index.php -> index.php
[rid#ba8fd8/initial/redir#1] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] applying pattern '^(.*)\.php$' to uri 'index.php'
[rid#ba8fd8/initial/redir#1] (2) [perdir D:/xampp/htdocs/_seiten/xxx/] rewrite 'index.php' -> 'index.php?content=index'
[rid#ba8fd8/initial/redir#1] (3) split uri=index.php?content=index -> uri=index.php, args=content=index
[rid#ba8fd8/initial/redir#1] (3) [perdir D:/xampp/htdocs/_seiten/xxx/] add per-dir prefix: index.php -> D:/xampp/htdocs/_seiten/xxx/index.php
[rid#ba8fd8/initial/redir#1] (1) [perdir D:/xampp/htdocs/_seiten/xxx/] initial URL equal rewritten URL: D:/xampp/htdocs/_seiten/xxx/index.php [IGNORING REWRITE]
Bei mod_rewrite selber meinten sie, ich solle doch ein L Flag hinzufügen ansonsten ein RewriteCond hinzufügen, welcher index.php ausschliesst. Nur leider ist es bei mir so lang her, als ich das das letzte mal machte, drum muss ich mich mal schnell einlesen und dann versuche ich das mal.

Grüße und Danke dir Zergling

Ich komme wieder und wenns klappt nicht mit Fragereien
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)

Geändert von cycap (29.07.2008 um 10:49 Uhr).
PsychoEagle ist offline   Mit Zitat antworten
Alt 17.01.2008, 15:06  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Ich frag mich grad wieso und wie und was aber es geht nun und zwar wie folgt:

Code:
RewriteRule ^(.*)\.php$ index.php?content=$1 [QSA]
Ich habe nur das QSA hingemacht, was bedeutet das? Habe es in einem anderen Beitrag gesehen, bei welchem die Rule sehr ähnlich aussah. Komisch das Ganze für mich

Grüße
Psy
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline   Mit Zitat antworten
Alt 17.01.2008, 15:13  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

QSA -> http://httpd.apache.org/docs/2.2/mod...ml#rewritecond ff
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. 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
Mod Rewrite Allgemeinplätzchen nikosch Server, Hosting und Workstations 2 10.05.2008 01:35
Mod Rewrite unter IIS Plague PHP Tipps 2008 7 02.05.2008 22:18
Mod Rewrite in Shop Software einbauen Pseiko Beitragsarchiv 17 18.03.2008 14:48
Mod Rewrite - nur für Adressen größer als ? tayke Server, Hosting und Workstations 9 02.05.2007 14:30
Mod Rewrite Problem mit PUNKT becks123 Server, Hosting und Workstations 1 31.01.2007 21:48
rewrite von .php - Möglich? tayke Server, Hosting und Workstations 8 29.11.2006 17:02
rewrite Marc Server, Hosting und Workstations 5 29.04.2006 12:15
Neuer Strato Server apache 2 Mod Rewrite & htaccess Prob Stemmi Server, Hosting und Workstations 4 02.05.2005 00:29
domain umleiten mit rewrite wurtzel Server, Hosting und Workstations 2 05.03.2005 02:09
Free Webspace mit Mod Rewrite peng Beitragsarchiv 6 15.02.2005 11:44
[Erledigt] URL Rewrite PHP-Fortgeschrittene 3 06.02.2005 16:54
[Erledigt] rewrite mod Server, Hosting und Workstations 1 12.01.2005 16:37
[Erledigt] mode rewrite, was ist möglich? Server, Hosting und Workstations 3 13.12.2004 09:34
[Erledigt] mod rewrite problem Server, Hosting und Workstations 0 20.07.2004 11:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php rewrite, php index content, index.php?content=home, php index.php?content=, kann man $_server[\'server_addr\'] server side ändern?, rewrite php to php, mod_rewrite index.php in home ändern, nicht auf index sondern auf home, rewrite home.html#content, index.php?mod=content, home.php als index.php, rewriterule greif auch bei index, auf was greift index.php/ zu, mod_rewrite index.php?content=, index.php url rewrite, php url rewrite, php mod_rewrite args, home.html home.php webhosting, htdocs rewrite index, rewrite index.php zu index.html

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:45 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.