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 26.03.2011, 16:19  
Neuer Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 12
Skazi_timo befindet sich auf einem aufstrebenden Ast
Standard .htaccess

Hallo Community!

Ich habe eine Frage bezüglich der .htaccess Datei. .htaccess ist absolut nicht mein gebiet, und selbst nach nun etwas längerer Suche nach Antworten, habe ich nichts hilfreiches im Web finden können. Jedenfalls nicht's, was mir geholfen hat.

Ich habe in meinem Hauptverzeichnis (wo die index.php liegt) eine .htaccess erstellt, und bereits getestet (permanente Weiterleitung auf google.de). Sie funktioniert.

Wenn ich nun aber die Regel aufstellen mag, welche ich wirklich benötige, geht es nicht. (Anmerkung: Das Ganze läuft noch über den localhost, Apache)

Die Regel lautet derzeit wie folgt:
RewriteEngine on
RewriteRule ^$/ index.php?s=$1 [NC]

Das NC in den eckigen Klammern habe ich mir von einer anderen Seite "geklaut". Jedoch sollte dazu gesagt sein, dass ich schon verschiedene Sachen in diesen Klammern ausprobiert habe - alles was ich zu diesem Thema fand, und was mir logisch vorkam.

Was soll eigentlich gemacht werden ? Ganz einfach. Derzeit befindet sich meine Index hier:

localhost/xyz/index.php

Wenn ich nun bestimmte Dateien einbinde würde das folgendermaßen ablaufen:

localhost/xyz/index.php?s=Startseite (Als Test!)

Diese Schreibweise möchte ich natürlich nicht haben. Ich möchte also, dass der Server intern aus
"localhost/xyz/Startseite" "localhost/xyz/index.php?s=Startseite" interpretiert.

Ich hoffe ihr versteht die problematik, und könnt mir einen Tipp in die richtige Richtung geben, oder gar die Lösung liefern. Mir sind beide Wege Recht.

Gruß
Skazi_timo ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 26.03.2011, 16:24  
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

Tja, Du matchst auch keinen String, wie bspw. "Startseite"

Und ^$/ ist selbstredend Unsinn. $ steht für das Ende des Patterns, da kannst Du nix mehr hinter schreiben.

Das [NC] heißt übrigens nicht-case-sensitiv.

[MOD: Verschoben]
__________________
--
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 26.03.2011, 16:26  
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

Code:
RewriteRule ^$/ index.php?s=$1 [NC]
Ist ja auch relativ sinnbefreit. a) ist hier nichts geklammert, also gibt es auch keine Backreferenzen b) trifft ^$ auch nur auf Leerstrings zu.
Code:
RewriteRule ^(.*)$/ index.php?s=$1 [L]
Ich empfehle dir Grundlagenlektüre.

Beitrag editiert:
[…] Zu lahm…
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 26.03.2011, 16:44  
Neuer Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 12
Skazi_timo befindet sich auf einem aufstrebenden Ast
Standard

Hallo!

Sicher - mir fehlen die Grundkenntnisse, das stimmt. Ich habe bis jetzt nicht die Zeit gefunden mir jenes anzueignen. Ich werde es aber sicher nachholen.

Dennoch möchte ich gerne versuchen vorerst die eine Zeile funktionierend fertig zu bekommen. Ich habe nun den Vorschlag von Manko10 versucht, jedoch erneut ohne Erfolg.

http://localhost/xyz/Startseite sowie http://localhost/xyz/Startseite/ sind ihm umbekannt, und es folgt ein 404.
Skazi_timo ist offline   Mit Zitat antworten
Alt 26.03.2011, 16:47  
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

Nimm den Slash hinter dem $ weg, den habe ich noch übersehen. Das wäre Fehler c). Siehe auch nikoschs Posting.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 26.03.2011, 16:48  
Neuer Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 12
Skazi_timo befindet sich auf einem aufstrebenden Ast
Standard

Ich fass es nicht. Es geht. Ich danke Dir vielmals
Skazi_timo ist offline   Mit Zitat antworten
Alt 26.03.2011, 16:54  
Neuer Benutzer
 
Registriert seit: 27.04.2008
Beiträge: 12
Skazi_timo befindet sich auf einem aufstrebenden Ast
Standard

Uah! Zu früh gefreut.

Ich habe die folgende Regel nun eingebaut:

RewriteEngine on
RewriteRule ^(.*)$ index.php?s=$1 [L]

Wenn ich nun auf die Seite localhost/xyz/Startseite gehe müsste ja der Wert $_GET['s'] mit "Startseite" gefüllt sein. Ist er aber nicht!
problem 1:
Egal, was ich anstelle von Startseite einsetze, der Wert 's' ist IMMER "index.php" -> Des weiteren läd er nun keine Bilder mehr rein - FireBug gibt lediglich die Information, dass er über die gegebene URL kein Bild laden kann.

Nehme ich die Regel wieder raus läd er die Bilder Ordnungsgemäß wieder rein.

Woran kann das denn liegen ? *sich am Kopf kratz*
Skazi_timo ist offline   Mit Zitat antworten
Alt 26.03.2011, 16:56  
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

Du solltest dir wirklich die Grundlagen aneignen. Wir können dir hier nicht jeden Kleinkrams beibringen. Dass $1 nicht den Wert "Startseite" bekommt, ist nur logisch. Auch dass diese Regel auf Bilder zutrifft, ist nicht erstaunlich. Bitte lies das ModRewrite-Manual (das ist gar nicht mal so lang) und eigne dir reguläre Ausdrücke an.
__________________
Refining Linux Advent Calendar series “24 Outstanding ZSH Gems
Manko10 ist offline   Mit Zitat antworten
Alt 26.03.2011, 16:57  
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

Weil das die nächste Frage sein wird: d) Ergänze am besten gleich das QSA Flag.
__________________
--
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 26.03.2011, 17:11  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von Skazi_timo Beitrag anzeigen
Egal, was ich anstelle von Startseite einsetze, der Wert 's' ist IMMER "index.php"
mod_rewrite im .htaccess-Kontext eingesetzt arbeitet so, dass nach durchlaufen aller Regeln eine „neue Runde“ gestartet wird, in der der gleiche Prozess erneut durchlaufen wird.

Du lässt also xyz/Startseite auf index.php?s=xyz/Startseite umschreiben, erster Durchgang fertig.

Nächste Runde: Die neue, umzuschreibende Adresse lautet jetzt index.php - dein Suchmuster matched, also wird das zu index.php?s=index.php umgeschrieben.

Sowas verhindert man, in dem man entweder das Suchmuster spezifischer formuliert, so dass es auf das Ziel der Umschreibung nicht mehr zutrifft, oder physisch existierende Dateien vom Rewriting ausschließt (siehe RewriteCond und Flags).

Beschäftige dich wirklich mit den Grundlagen von mod_rewrite.
Die Thematik ist komplexer als „mal eben eine Regel schreiben, und dann wird schon alles laufen wie es soll“.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB 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
Pdf Frame in index.html durch .htaccess schützen alkhatw Server, Hosting und Workstations 5 05.02.2011 15:41
Internal Server Error, .htaccess Alex_ Server, Hosting und Workstations 2 20.10.2010 14:33
In haupt .htaccess Passwortschutz für Unterordner festlegen smilla Server, Hosting und Workstations 3 26.07.2010 12:37
.htaccess wird ignoriert BlackScorp Server, Hosting und Workstations 0 01.07.2010 10:34
.htaccess Schutz nur für bestimmte Useragents smilla PHP Tipps 2010 2 17.06.2010 17:35
.htaccess bei Xampp luks2com Server, Hosting und Workstations 2 25.05.2010 07:46
[Erledigt] .htaccess // php_value max_execution_time grrrlinator Server, Hosting und Workstations 2 08.04.2010 12:28
[Erledigt] http://www.domain.de/xy.php mit .htaccess nicht aufrufbar choice Server, Hosting und Workstations 6 28.12.2009 10:09
Problem mit .htaccess auf lokal (Vista) xampp Mr.Karl PHP Tipps 2008 13 19.09.2008 04:28
.htaccess login schlägt fehl sternschnuppe99 Server, Hosting und Workstations 6 07.02.2008 13:37
.htaccess Verzeichnisschutz oder Umleitung Igäl Server, Hosting und Workstations 2 24.08.2007 17:23
.htaccess LA-Finest HTML, Usability und Barrierefreiheit 4 28.02.2007 22:39
.htaccess Ausnahme für einzelne Verzeichnisse ssm Server, Hosting und Workstations 0 25.02.2007 19:24
register_globals per .htaccess auf off stellen A Hoppe PHP Tipps 2006 4 26.03.2006 12:58
Problem mit .htaccess und php PHP Tipps 2004 2 05.07.2004 14:06

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
htaccess end-slash ausnahme, htaccess regel nur für die startseite, htaccess ausnahme localhost, htaccess einzelne seiten weiterleiten localhost

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