"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

mod_rewrite für apache2 (update)

Umlüx 04.04.2013 - 08:43 3161 18
Posts

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8966
vorgestern habt ihr mir schon erfolgreich mit meinem mysql problem geholfen, heut brauch ich schon wieder eure hilfe :D ...

es geht um einen apachen auf debian den wir (bzw mein kollege) für einen externen dienstleister eingerichtet haben. dieser baut uns eine webanwendung und braucht dafür mod_rewrite aktiviert.
ich mit meinen nicht vorhandenen linux skills hab natürlich gleich fleissig nach tutorials gesucht.. scheinbar recht einfach die ganze sache. "rewrite.load" aus dem "mods-available" verzeichnis ins "mods-enabled" kopieren oder linken, apache restart.. done.

kann man scheinbar auch mit einem eigenen command machen. versuchen wirs einfach mal:
Code:
root@www:/etc/apache2# a2enmod rewrite
Module rewrite already enabled

klingt gut!
so, laut tutorial jetzt noch ein 'AllowOverride All' in die /etc/apache2/sites-enabled/000-default eintragen und...

500er Fehler..

schaun wir in die error.log:
Code:
/var/www/test/.htaccess: Invalid command 'sRewriteRule', perhaps misspelled or defined by a module not included in the server configuration

jetzt steh ich etwas an und komm selbst mit googlen auch nicht wirklich weiter. wo könnts da nun hängen? oder liegt der fehler vielleicht auch auf 'seiner' seite?
hat er sich vielleicht einfach nur vertippt? google fängt mit 'sRewriteRule' nix an...

big thx!


EDIT sagt: war sein fehler. wie ich oben schon vermutet hatte.. :cool:


EDIT2:
eins hab ich immer noch :(
mir fehlt nun die variable $_SERVER['SCRIPT_URI']
Mod_Rewrite und RewriteEngine sind aber beide on...
Bearbeitet von Umlüx am 04.04.2013, 14:18

Paxi

Overclocking Team Member
Avatar
Registered: Oct 2009
Location: Wien
Posts: 389
Mach mal ein var_dump($_SERVER) oder print_r($_SERVER) um zu sehen welche Variablen alle gesetzt sind im $_SERVER array.

Falls du zufällig den Hostname auslesen willst, versuchs mal mit $_SERVER['HTTP_HOST']

Schau mal hier rein: http://www.nullpointer.at/2011/01/1...piel-soap-wsdl/ das steht so einiges dazu, rewrite_module muss geladen und aktiv sein und es muss ein virtueller Host sein.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8966
danke, die seite hatte ich auch gefunden. und sie hat mich beinhart belogen! :D

es geht mittlerweile.

die oben verlinkte seite meint
Zitat
Wenn das Modul geladen ist, muss es noch mit
RewriteEngine on
aktiviert werden. Dies kann sowohl in der Konfigurationsdatei des Apache Webservers erfolgen als auch in einer .htaccess Datei im jeweiligen Script Verzeichnis.

... von wegen. in der .htaccess (wie es auch konfiguriert war) aktiviert gibts die variable nicht. sehr wohl aber in dder konfiguration des virtualhosts.. :rolleyes:

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4282
kann man normalerweise sehr wohl in der .htaccess aktivieren.

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Nicht notwendigerweise - das kommt auf die Konfiguration von AllowOverride fuer den htaccess/Directory-Context an; iirc braucht man "FileInfo" und "Options" dafuer.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8966
steht momentan auf ALL
vermutlich greift es daher nicht in der .htaccess

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
"All" impliziert alle anderen Overrides, das kann bei dir also nicht das Problem sein.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8966
ok dann ist meine stark begrenzte apache weisheit erschöpft :D

kleinerChemiker

Here to stay
Avatar
Registered: Feb 2002
Location: Wien
Posts: 4282
hast du den Indianer auch neu gestartet, nachdem du seine config geändert hast?

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8966
also soviel weiss ich :D klar

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Ich verstehe die (neue) Ausgangsfrage des Threads nicht ganz - $_SERVER['SCRIPT_URI'] ist PHP-Syntax (und schleift lediglich eine laut CGI-Spezifikation benoetigte Environment-Variable zum CGI-Script-Interpreter durch; mod_php emuliert das), und hat in der Apache-Konfiguration nichts verloren. Was versuchst du zu erreichen?

Ein restart von Apache ist zu Konfigurationsaenderungen nur in absoluten Ausnahmefaellen notwendig (neue Module aktiviert/deaktiviert z. B.); fuer sowas reicht ein reload.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8966
aber $_SERVER['SCRIPT_URI'] entsteht scheinbar erst durch mod_rewrite.
und entgegen dem oben verlinkten artikel war die variable bei "RewriteEngine on" in der .htaccess NICHT vorhanden.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
Zitat von Umlüx
aber $_SERVER['SCRIPT_URI'] entsteht scheinbar erst durch mod_rewrite.
und entgegen dem oben verlinkten artikel war die variable bei "RewriteEngine on" in der .htaccess NICHT vorhanden.
Meinst du vielleicht $_SERVER['REQUEST_URI']?

Hier findest du eine Liste aller Superglobals in PHP, wobei es natürlich auch auf die Webserver-Konfiguration ankommt, welche davon wirklich verfügbar sind.

Bezüglich der Verfügbarkeit von "RewriteEngine" solltest du dich an die Apache-Dokumentation halten. Und die sagt:
Zitat
Context: server config, virtual host, directory, .htacces

Wenn das nicht funktioniert, dann wird irgendwo anders der Wurm drinnen sein. Irgendwo wird zB das AllowOverride wieder überschrieben und dergleichen. Wenn du aber ohnehin Zugriff per SSH hast, dann würde ich sowieso .htaccess ausschalten und über Location arbeiten.

Umlüx

Huge Metal Fan
Avatar
Registered: Jun 2001
Location: Kärnten
Posts: 8966
nein ich mein schon script_uri
das ganze ist ja auch nicht auf meinem mist gewachsen und das web bau ich auch nicht. ich muss hier nur die vorraussetzungen schaffen.

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
Zitat von Umlüx
nein ich mein schon script_uri
das ganze ist ja auch nicht auf meinem mist gewachsen und das web bau ich auch nicht. ich muss hier nur die vorraussetzungen schaffen.
Wofür brauchst du es genau? Es gibt Alternativen.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz