apache

Verwenden Sie dieses Tag (zusammen mit einem entsprechenden Programmiersprache-Tag) für die Programmierung von Fragen zum Apache HTTP Server. Verwenden Sie dieses Tag nicht für Fragen zu anderen Apache Foundation-Produkten. Beachten Sie, dass Fragen zur Serverkonfiguration normalerweise besser auf https://serverfault.com passen
7
Antworten

PHPIniDir unter Windows 7 gebrochen?

Ich hatte einen Server auf einem Windows XP-Rechner mit Apache2 mit PHP und MySQL. Ich habe kürzlich ein Upgrade auf Windows 7 durchgeführt und habe Schwierigkeiten, es zum Laufen zu bringen. Apache funktioniert einwandfrei und PHP funktioniert,...
16.12.2009, 05:47
2
Antworten

Verboten Sie sind nicht berechtigt auf diesen Server zuzugreifen. Der Server kann die htaccess-Datei nicht lesen und verweigert den Zugriff

Im Moment bekomme ich diese Nachricht auf einer einzigen Seite meines Reseller-Kontos: Verboten    Sie sind nicht berechtigt, auf diesen Server zuzugreifen. Server kann nicht   lese die htaccess-Datei und leugne den Zugriff, um sicher zu sein...
31.08.2015, 04:12
2
Antworten

___ tag123php ___ PHP ist eine weit verbreitete, dynamische, objektorientierte und interpretierte Skriptsprache, die primär für die serverseitige Webentwicklung entwickelt wurde. ___ tag123htaccess ___ Konfigurationsdatei auf Verzeichnisebene, die von Apache-Webservern verwendet wird. Verwenden Sie dieses Tag genau dann, wenn der .htaccess-Inhalt direkt am Thema beteiligt ist. Wir wissen, dass viele Leute .htaccess verwenden, aber bitten Sie die Mitglieder der Community, dieses Tag nicht zu verwenden, es sei denn, Sie wissen, dass es sich um ein Thema in Ihrer Frage handelt. ___ tag123apache ___ Verwenden Sie dieses Tag (zusammen mit einem entsprechenden Programmiersprache-Tag) für die Programmierung von Fragen zum Apache HTTP Server. Verwenden Sie dieses Tag nicht für Fragen zu anderen Apache Foundation-Produkten. Beachten Sie, dass Fragen zur Serverkonfiguration normalerweise besser auf https://serverfault.com passen ___ answer12866665 ___

Zuerst werde ich Ihnen sagen, wie Sie Ihre RewriteRule lesen können:

Sie beginnen mit dem ersten (oder nächsten) RewriteRule-Eintrag:

%code%

Der erste Parameter ist ein regulärer Ausdruck, der der angeforderten URL entsprechen kann. %code% stimmt mit allem überein und speichert dieses "alles" in einer Variablen, die später verwendet werden kann.

Nur wenn vorhergehende RewriteCond-Einträge vorhanden sind, werden sie als nächstes ausgewertet:

%code%

%code% ist ein Verweis auf den Inhalt, der in den ersten Klammern von RewriteRule gefunden wurde. Dies wird mit dem zweiten Parameter verglichen, der ein regulärer Ausdruck ist, der mehrere explizite Namen angibt, und der %code% negiert den Ausdruck, z. Diese Regel erlaubt die Ausführung der RewriteRule nur, wenn die Regex nicht übereinstimmt. Wenn diese Bedingung wahr zurückgibt, wird die nächste Bedingung betrachtet.

%code%

Wenn der angeforderte Dateiname keine echte Datei auf der Festplatte ist, ist diese Bedingung wahr.

%code%

Wenn der angeforderte Dateiname kein echtes Verzeichnis ist, ist diese Bedingung wahr.

Nur wenn alle diese Bedingungen zutreffen (sie sind zusammen mit AND verkettet), kommen wir zurück zur Umschreiberegel:

%code%

Das Ergebnis dieses Umschreibschritts wird als zweiter und dritter Parameter definiert. %code% wird wieder wie für den Inhalt der Übereinstimmung verwendet, und die Parameter definieren, dass diese Regel, wenn sie anfänglich übereinstimmt, die letzte Regel (L) ist und dass jede im Umschreibeziel definierte Abfragezeichenfolge an eine beliebige angehängt wird Abfragezeichenfolge in der ursprünglichen URL (QSA).

Kritik:

Das übliche Umschreiben für MVC-Frameworks versucht, so performant wie möglich zu sein. Ihre Umschreibungsbedingungen müssen alle für eine erfolgreiche Umschreibung ausgewertet werden. Die Option wird nur angehalten, wenn einer der RewriteCond-Werte false zurückgibt. Jede Anforderung, die neu geschrieben wird, unterliegt zahlreichen CPU-intensiven Tests. Zuerst die RewriteRule Regex, dann die Regex in der ersten RewriteCond, gefolgt von zwei Harddisk-Tests auf dem Dateisystem für die Datei Existenz.

Auf der anderen Seite scheint der erste RewriteCond unnötig zu sein. Es prüft auf bestimmte Namen und bricht das Neuschreiben ab. "index.php" sollte vom zweiten RewriteCond erkannt werden, da es sich um eine existierende Datei handelt (wie würde das Umschreiben funktionieren, wenn nicht). Alles, was mit "Ressourcen" beginnt, wird ebenfalls angepasst, aber wahrscheinlich nicht aus den gleichen Gründen: Vorhandene Ressourcen werden vom zweiten RewriteCond gefunden. Zuletzt die Datei "robots.txt". Es ist immer eine gute Idee, eine zu haben, möglicherweise empty, wenn Sie 404 vermeiden möchten, wenn Roboter Ihre Site holen.

Da Sie nichts in der Abfragezeichenfolge ändern, wird die [QSA] -Direktive nicht benötigt.

Verbesserungen:

%Vor%

Die erste RewriteRule stimmt mit dem gesamten angeforderten Pfad überein. Die beiden RewriteCond sind mit [OR] verbunden, sodass der erste RewriteCond, der True zurückgibt, die weitere Auswertung abbricht. Der erste RewriteCond testet, ob die angeforderte Datei existiert. Wenn es existiert, wird true zurückgegeben und die Verarbeitung kehrt zur ersten RewriteRule zurück. Der Zielausdruck ist "-", was "nicht neu schreiben" bedeutet. Der [L] stoppt die weitere Verarbeitung der Umschreibregeln. Am Ende haben wir für eine existierende Datei nur einen Regex- und einen Dateisystemtest, und danach wird diese existierende Datei an den Browser gesendet.

Wenn keine Datei gefunden wurde, werden die erste RewriteRule und RewriteCond nicht ausgelöst, daher wird [L] dort den Prozess nicht stoppen. Also wird die zweite RewriteRule ausgeführt. Dieser ist unconditional, und die Regex ist die gleiche wie zuvor, stimmt mit allem überein und schreibt es in "index.php" um.

Dieses Umschreiben ruft Ihre index.php nicht auf, wenn eine Datei existiert, einschließlich /forum/login.php.

Sie können die zweite in %code% ändern, wenn Sie weiterhin %code% statt %code% analysieren möchten.

    
___ qstntxt ___

Meine Seite leitet aufgrund meiner .htaccess-Datei, die wie folgt eingestellt ist, nicht um:

%Vor%

Ich benutze dieses Setup für mein MVC Framework, also erhalte ich URLs wie %code% , aber wenn ich nach /forum/login.php umadressiere, schneidet es nach / forum /.

Wie kann ich das als Ausnahme hinzufügen, damit ich nach %code%

umleiten kann?

Ich habe eine andere .htaccess in meinem / forum / Verzeichnis gefunden, könnte das auch das Problem verursachen?

%Vor%     
___ answer12865847 ___

Versuchen Sie es mit:

%Vor%

Und das:

%Vor%     
___

Meine Seite leitet aufgrund meiner .htaccess-Datei, die wie folgt eingestellt ist, nicht um: %Vor% Ich benutze dieses Setup für mein MVC Framework, also erhalte ich URLs wie /controller/method/argument , aber wenn ich nach /forum/login.php...
12.10.2012, 19:26
3
Antworten

PHP-Fehlerprotokoll funktioniert nicht

Es funktioniert seit Ewigkeiten und hat aufgehört. Ich muss etwas Offensichtliches vermissen, so dass der Stack-Überlauf möglicherweise helfen kann. /etc/php5/apache2/php.ini relevante Einstellungen sind: %Vor% In meinem Code habe ich:...
22.02.2011, 00:54
4
Antworten

Wie kann ich www AND non-www in einer Rewritecond anpassen?

Ich habe eine Rewrite-Map mit einer Liste von Domains, die umgeleitet werden sollen. Zurzeit muss ich www.foo.com und foo.com in der Neuschreibkarte auflisten. Ich habe mich gefragt, ob es eine Möglichkeit gäbe, die Wiederbeschreibungs-Prüfung f...
30.12.2010, 22:27
2
Antworten

Gettext funktioniert nicht über php-cli, funktioniert aber in php-apache

Der Code, den ich ausführe, sieht wie folgt aus: %Vor% Das Ergebnis durch apache2 lautet: %Vor% Was ist wie wir wollen. Es läuft durch cli: %Vor% Was wäre richtig gewesen wenn wir Englisch benutzt hätten. Das 'd' ist in der englis...
04.11.2012, 16:54
5
Antworten

Wie überprüfe ich, ob das PHP-Skript auf einem lokalen Server läuft?

Ist es möglich zu überprüfen, ob die Website (php) lokal oder auf einem gehosteten Server läuft? Ich möchte einige Protokolle aktivieren, wenn die Website lokal ausgeführt wird und ich möchte nicht, dass diese online auf der Website angezeigt we...
08.07.2011, 14:48
6
Antworten

Können Leute meinen PHP-Code sehen, wenn das Rendering fehlschlägt?

Um PHP laufen zu lassen, musste ich Includes auf dem Apache Webserver aktivieren. Niemand kann meine .php Dateien wirklich sehen, denn wenn sie vom Server geholt werden, werden sie gerendert und der Client sieht nur css / html / was auch immer....
11.04.2011, 02:41
3
Antworten

Mod Rewrite Ordner ausblenden

Ich denke, das ist eine ziemlich einfache Frage. Wie Sie einen Apache neu schreiben, um einen Ordner auszublenden. EX: www.website.com/pages/login.php zu www.website.com/login.php oder www.website.com/pages/home.php zu www.website.com/h...
11.04.2010, 19:09
2
Antworten

Rails 3.1, Unicorn und Apache: statische Dateien

Ich habe Rails 3.1, Unicorn und Apache eingerichtet. Meine Apache-Einstellungen sind unten und production.rb sieht wie dies aus. Ich mag es, h264-Streaming zu verwenden, aber da Rails diese Videodateien bereitstellt, funktioniert der Apache-Mo...
14.11.2011, 00:59