.htaccess

Alles, was den Apache betrifft, kann hier besprochen werden.

.htaccess

Postby the1985 » 25. June 2019 15:37

Hallo,

ich habe eine ".htaccess" erstellt und auch auf Server1 erfolgreich getestet. Leider geht das ganze auf Server2 nicht. - Alle Versuche die ich unternommen habe bringen nichts. Nun hoffe ich auf Eure Hilfe.

Anbei die ".htaccess"-Datei
Code: Select all
RewriteEngine On
RewriteRule ^entwickler/(.*)/(.*)/(.*)$ entwickler.php?BEREICH=$1&PAGE=$2&WERT=$3
RewriteRule ^entwickler/(.*)/(.*)$ entwickler.php?BEREICH=$1&PAGE=$2
RewriteRule ^entwickler/(.*)$ entwickler.php?BEREICH=$1
RewriteRule ^entwickler$ entwickler.php
RewriteRule ^admin/(.*)/(.*)/(.*)/(.*)$ admin.php?SYSTEM=$1&BEREICH=$2&PAGE=$3&WERT=$4
RewriteRule ^admin/(.*)/(.*)/(.*)$ admin.php?SYSTEM=$1&BEREICH=$2&PAGE=$3
RewriteRule ^admin/(.*)/(.*)$ admin.php?SYSTEM=$1&BEREICH=$2
RewriteRule ^admin/(.*)$ admin.php?SYSTEM=$1
RewriteRule ^admin$ admin.php
RewriteRule ^benutzer/(.*)/(.*)/(.*)/(.*)$ benutzer.php?SYSTEM=$1&BEREICH=$2&PAGE=$3&WERT=$4
RewriteRule ^benutzer/(.*)/(.*)/(.*)$ benutzer.php?SYSTEM=$1&BEREICH=$2&PAGE=$3
RewriteRule ^benutzer/(.*)/(.*)$ benutzer.php?SYSTEM=$1&BEREICH=$2
RewriteRule ^benutzer/(.*)$ benutzer.php?SYSTEM=$1
RewriteRule ^benutzer$ benutzer.php
RewriteRule ^system/(.*)/(.*)/(.*)/(.*)$ system.php?SYSTEM=$1&BEREICH=$2&PAGE=$3&WERT=$4
RewriteRule ^system/(.*)/(.*)/(.*)$ system.php?SYSTEM=$1&BEREICH=$2&PAGE=$3
RewriteRule ^system/(.*)/(.*)$ system.php?SYSTEM=$1&BEREICH=$2
RewriteRule ^system/(.*)$ system.php?SYSTEM=$1
RewriteRule ^system$ system.php


Hier ist die vHost-Datei:
Code: Select all
<VirtualHost *:80>
   ServerAdmin webmaster@domainname.de
   ServerName www.domainname.de
    ServerAlias domainname.de
   DocumentRoot /home/domainname.de/httpdocs
   DirectoryIndex index.php
   <Directory />
      Options FollowSymLinks
      AllowOverride All
   </Directory>
   <Directory /home/domainname.de/httpdocs/>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Require all granted
   </Directory>
   ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
   <Directory "/usr/lib/cgi-bin">
      Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
      AllowOverride All
   </Directory>
   LogLevel debug
   ErrorLog /home/domainname.de/httplogs/http_error.log
   CustomLog /home/domainname.de/httplogs/http_access.log combined
</VirtualHost>


Ich habe folgende Apache-Mods installiert
  • core
  • mod_so
  • mod_watchdog
  • http_core
  • mod_log_config
  • mod_logio
  • mod_version
  • mod_unixd
  • mod_access_compat
  • mod_alias
  • mod_auth_basic
  • mod_authn_core
  • mod_authn_file
  • mod_authz_core
  • mod_authz_host
  • mod_authz_user
  • mod_autoindex
  • mod_deflate
  • mod_dir
  • mod_env
  • mod_filter
  • mod_mime
  • prefork
  • mod_negotiation
  • mod_php7
  • mod_reqtimeout
  • mod_rewrite
  • mod_setenvif
  • mod_socache_shmcb
  • mod_status

Was habe ich auf dem zweiten Server übersehen?

Liebe Grüße
und Danke bereits im Vorraus
The1985
the1985
 
Posts: 4
Joined: 25. June 2019 13:35
XAMPP version: -
Operating System: -

Re: .htaccess

Postby Nobbie » 25. June 2019 19:09

the1985 wrote:Was habe ich auf dem zweiten Server übersehen?


Was hast Du auf dem zweiten Server anders gemacht?

Auf alle Fälle schon einmal fehlen sämtliche Logfiles, sowohl error_log als auch access_log. Da kann man normalerweise eine ganze Menge Hinweise finden, wenn etwas nicht das tut, was man erwartet. Einfach so weiß kein Mensch, was da schief läuft.
Nobbie
 
Posts: 11053
Joined: 09. March 2008 13:04

Re: .htaccess

Postby the1985 » 25. June 2019 21:38

Nobbie wrote:Was hast Du auf dem zweiten Server anders gemacht?

Anders habe ich nichts gemacht, doch Server1 wurde mit Plesk ausgeliefert und Server2 nicht.

Nobbie wrote:Auf alle Fälle schon einmal fehlen sämtliche Logfiles, sowohl error_log als auch access_log. Da kann man normalerweise eine ganze Menge Hinweise finden, wenn etwas nicht das tut, was man erwartet. Einfach so weiß kein Mensch, was da schief läuft.


http_access.log
Code: Select all
176.9.xxx.xxx - - [25/Jun/2019:12:34:01 +0000] "GET /entwickler HTTP/1.1" 404 507 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:67.0) Gecko/20100101 Firefox/67.0"
176.9.xxx.xxx - - [25/Jun/2019:12:34:01 +0000] "GET /favicon.ico HTTP/1.1" 404 507 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:67.0) Gecko/20100101 Firefox/67.0"
176.9.xxx.xxx - - [25/Jun/2019:12:34:05 +0000] "GET /phpinfo.php HTTP/1.1" 200 24547 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:67.0) Gecko/20100101 Firefox/67.0"
176.9.xxx.xxx - - [25/Jun/2019:12:34:06 +0000] "GET /favicon.ico HTTP/1.1" 404 503 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:67.0) Gecko/20100101 Firefox/67.0"
176.9.xxx.xxx - - [25/Jun/2019:14:39:20 +0000] "GET /phpinfo.php HTTP/1.1" 200 24621 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:67.0) Gecko/20100101 Firefox/67.0"
176.9.xxx.xxx - - [25/Jun/2019:14:47:29 +0000] "GET /entwickler HTTP/1.1" 404 507 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:67.0) Gecko/20100101 Firefox/67.0"
176.9.xxx.xxx - - [25/Jun/2019:14:47:30 +0000] "GET /favicon.ico HTTP/1.1" 404 507 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:67.0) Gecko/20100101 Firefox/67.0"


http_error.log
Code: Select all
[Tue Jun 25 12:34:01.722867 2019] [authz_core:debug] [pid 233] mod_authz_core.c(809): [client 176.9.xxx.xxx:61755] AH01626: authorization result of Require all granted: granted
[Tue Jun 25 12:34:01.722940 2019] [authz_core:debug] [pid 233] mod_authz_core.c(809): [client 176.9.xxx.xxx:61755] AH01626: authorization result of <RequireAny>: granted
[Tue Jun 25 12:34:01.723035 2019] [authz_core:debug] [pid 233] mod_authz_core.c(809): [client 176.9.xxx.xxx:61755] AH01626: authorization result of Require all granted: granted
[Tue Jun 25 12:34:01.723055 2019] [authz_core:debug] [pid 233] mod_authz_core.c(809): [client 176.9.xxx.xxx:61755] AH01626: authorization result of <RequireAny>: granted
[Tue Jun 25 12:34:01.723115 2019] [negotiation:error] [pid 233] [client 176.9.xxx.xxx:61755] AH00687: Negotiation: discovered file(s) matching request: /home/domainname.de/httpdocs/entwickler (None could be negotiated).
[Tue Jun 25 12:34:01.751924 2019] [authz_core:debug] [pid 233] mod_authz_core.c(809): [client 176.9.xxx.xxx:61755] AH01626: authorization result of Require all granted: granted
[Tue Jun 25 12:34:01.751945 2019] [authz_core:debug] [pid 233] mod_authz_core.c(809): [client 176.9.xxx.xxx:61755] AH01626: authorization result of <RequireAny>: granted
[Tue Jun 25 12:34:01.752044 2019] [core:info] [pid 233] [client 176.9.xxx.xxx:61755] AH00128: File does not exist: /home/domainname.de/httpdocs/favicon.ico
[Tue Jun 25 12:34:05.936694 2019] [authz_core:debug] [pid 234] mod_authz_core.c(809): [client 176.9.xxx.xxx:61756] AH01626: authorization result of Require all granted: granted
[Tue Jun 25 12:34:05.936760 2019] [authz_core:debug] [pid 234] mod_authz_core.c(809): [client 176.9.xxx.xxx:61756] AH01626: authorization result of <RequireAny>: granted
[Tue Jun 25 12:34:05.946678 2019] [deflate:debug] [pid 234] mod_deflate.c(853): [client 176.9.xxx.xxx:61756] AH01384: Zlib: Compressed 93735 to 24275 : URL /phpinfo.php
[Tue Jun 25 12:34:06.102939 2019] [authz_core:debug] [pid 234] mod_authz_core.c(809): [client 176.9.xxx.xxx:61756] AH01626: authorization result of Require all granted: granted
[Tue Jun 25 12:34:06.102974 2019] [authz_core:debug] [pid 234] mod_authz_core.c(809): [client 176.9.xxx.xxx:61756] AH01626: authorization result of <RequireAny>: granted
[Tue Jun 25 12:34:06.103057 2019] [core:info] [pid 234] [client 176.9.xxx.xxx:61756] AH00128: File does not exist: /home/domainname.de/httpdocs/favicon.ico
[Tue Jun 25 14:39:20.480573 2019] [authz_core:debug] [pid 240] mod_authz_core.c(809): [client 176.9.xxx.xxx:61930] AH01626: authorization result of Require all granted: granted
[Tue Jun 25 14:39:20.480639 2019] [authz_core:debug] [pid 240] mod_authz_core.c(809): [client 176.9.xxx.xxx:61930] AH01626: authorization result of <RequireAny>: granted
[Tue Jun 25 14:39:20.484511 2019] [deflate:debug] [pid 240] mod_deflate.c(853): [client 176.9.xxx.xxx:61930] AH01384: Zlib: Compressed 93812 to 24349 : URL /phpinfo.php
[Tue Jun 25 14:47:29.973989 2019] [authz_core:debug] [pid 582] mod_authz_core.c(809): [client 176.9.xxx.xxx:61998] AH01626: authorization result of Require all granted: granted
[Tue Jun 25 14:47:29.974039 2019] [authz_core:debug] [pid 582] mod_authz_core.c(809): [client 176.9.xxx.xxx:61998] AH01626: authorization result of <RequireAny>: granted
[Tue Jun 25 14:47:29.974146 2019] [authz_core:debug] [pid 582] mod_authz_core.c(809): [client 176.9.xxx.xxx:61998] AH01626: authorization result of Require all granted: granted
[Tue Jun 25 14:47:29.974167 2019] [authz_core:debug] [pid 582] mod_authz_core.c(809): [client 176.9.xxx.xxx:61998] AH01626: authorization result of <RequireAny>: granted
[Tue Jun 25 14:47:29.974213 2019] [negotiation:error] [pid 582] [client 176.9.xxx.xxx:61998] AH00687: Negotiation: discovered file(s) matching request: /home/domainname.de/httpdocs/entwickler (None could be negotiated).
[Tue Jun 25 14:47:30.697979 2019] [authz_core:debug] [pid 582] mod_authz_core.c(809): [client 176.9.xxx.xxx:61998] AH01626: authorization result of Require all granted: granted
[Tue Jun 25 14:47:30.698028 2019] [authz_core:debug] [pid 582] mod_authz_core.c(809): [client 176.9.xxx.xxx:61998] AH01626: authorization result of <RequireAny>: granted
[Tue Jun 25 14:47:30.698123 2019] [core:info] [pid 582] [client 176.9.xxx.xxx:61998] AH00128: File does not exist: /home/domainname.de/httpdocs/favicon.ico
the1985
 
Posts: 4
Joined: 25. June 2019 13:35
XAMPP version: -
Operating System: -

Re: .htaccess

Postby Nobbie » 26. June 2019 11:15

Das einzige, was ich erkennen kann, ist die Tatsache, dass die Datei /home/www.domainname.de/httpdocs/entwickler gesucht, aber nicht gefunden wird (wahrscheinlich ein Verzeichnis?). Wenn es an der gezeigten Konfiguration liegen würde, würde es auch auf Server1 nicht funktionieren. Wobei Du auch nicht ansatzweise erklärst, was das eigentlich heißt, "leider geht das ganze nicht". Das ist keine Fehlermeldung, das ist nichts.

Vielleicht hilft Dir ja der Hinweis auf "/entwickler" und "www.domainname.de".

P.S.: Außerdem fällt mir auf, dass in sämlichen RewriteRules am Anfang kein Slash steht, das ist von der Serverkonfiguration abhängig, ob da ein Slash steht oder nicht. Vielleicht ist das unterschiedlich zwischen Server1 und Server2, mache mal überall einen Slash hinein (auch im Ersetzungspattern):

Code: Select all
RewriteRule ^/entwickler/(.*)/(.*)/(.*)$ /entwickler.php?BEREICH=$1&PAGE=$2&WERT=$3


usw.
Nobbie
 
Posts: 11053
Joined: 09. March 2008 13:04

Re: .htaccess

Postby the1985 » 26. June 2019 22:32

Nobbie wrote:Das einzige, was ich erkennen kann, ist die Tatsache, dass die Datei /home/www.domainname.de/httpdocs/entwickler gesucht, aber nicht gefunden wird (wahrscheinlich ein Verzeichnis?). Wenn es an der gezeigten Konfiguration liegen würde, würde es auch auf Server1 nicht funktionieren. Wobei Du auch nicht ansatzweise erklärst, was das eigentlich heißt, "leider geht das ganze nicht". Das ist keine Fehlermeldung, das ist nichts.


Der Fehler ist
Not Found
The requested URL /entwickler was not found on this server.

Nobbie wrote:P.S.: Außerdem fällt mir auf, dass in sämlichen RewriteRules am Anfang kein Slash steht, das ist von der Serverkonfiguration abhängig, ob da ein Slash steht oder nicht. Vielleicht ist das unterschiedlich zwischen Server1 und Server2, mache mal überall einen Slash hinein (auch im Ersetzungspattern):
Code: Select all
RewriteRule ^/entwickler/(.*)/(.*)/(.*)$ /entwickler.php?BEREICH=$1&PAGE=$2&WERT=$3

usw.


Habe ich versucht leider ohne Erfolg.

Das das Log sagt das es die Datei/Ordner /entwickler nicht gibt ist mir klar. - Doch eigendlich sollte es auf die Datei /entwickler.php umgeleitet werden und genau das geht nicht.
the1985
 
Posts: 4
Joined: 25. June 2019 13:35
XAMPP version: -
Operating System: -

Re: .htaccess

Postby Nobbie » 26. June 2019 22:53

Anscheinend wird der Rewrite nicht ausgeführt, das kann die verschiedensten Gründe haben. .htaccess nicht lesbar (falsche Dateirechte), falscher Dateiname (.htaccess ist ja auch nur eine Einstellung, die Datei kann auch beliebig anders heissen) usw.

Anscheinend sind hier auch die Realdaten verxchleiert, das ist spätestens die Stelle, wo ich aussteige, aus Prinzip und entsprechender Erfahrung. Und Xampp (eigentlich Voraussetzung hier im Forum) ist offensichtlich auch nicht involviert.
Nobbie
 
Posts: 11053
Joined: 09. March 2008 13:04

Re: .htaccess

Postby the1985 » 27. June 2019 16:05

Nobbie wrote:Anscheinend sind hier auch die Realdaten verxchleiert, das ist spätestens die Stelle, wo ich aussteige, aus Prinzip und entsprechender Erfahrung. Und Xampp (eigentlich Voraussetzung hier im Forum) ist offensichtlich auch nicht involviert.


Warum es ein Problem ist das hier keine IP-Adresse bzw. Domainnemen veröffentlichen verstehe ich nicht. Und das Xampp Pflicht ist war mir nicht klar.

Gut dann werde ich mich wohl anderst wo nach Hilfe umschauen müssen ... schade ...
the1985
 
Posts: 4
Joined: 25. June 2019 13:35
XAMPP version: -
Operating System: -

Re: .htaccess

Postby Nobbie » 27. June 2019 16:50

the1985 wrote:Warum es ein Problem ist das hier keine IP-Adresse bzw. Domainnemen veröffentlichen verstehe ich nicht.


Weil ich die Erfahrung gemacht habe, dass in 95% (wenn nicht sogar 100%) aller Problemfälle durch das "Kaschieren" auch die wirkliche Fehlerursache kaschiert wurde, wodurch sie nicht mehr zu finden war. Das ist verständlicherweise extrem nervig, wenn man nach Fehlern sucht, die "übermalt" wurden. Aus diesem Grund mache ich das nicht mehr, das ist unbefriedigend und nervt nur. Nur wenn strikt mit copy&paste die Originaldaten gezeigt werden, ist gewährleistet, dass nicht durch fehlerhafte Übertragung hier ins Forum die Fehlerursache verloren geht. Ich mag es deswegen auch nicht, wenn Daten oder Meldungen abgetippt werden oder gar nur in "Prosa" interpretiert werden - strikt copy&paste. Nichts anderes.

Xampp ist natürlich hier die Basisvoraussetzung, hier ist das offizielle Xampp Support Forum. Die Namensgebung ist leider seit vielen Jahren nicht mehr angepasst worden, "Apache Friends" sagt keinem mehr etwas. Wenn ich aber ein Problem auf Anhieb erkenne, dann schreibe ich auch etwas dazu, auch wenn es nicht Xampp ist. Aber das größere Problem ist hier die Kaschierung der Daten. Ich mag es nicht und ich mache es nicht mehr. Ich habe mich zu oft geärgert darüber.

Um das grundsätzliche Problem klar zu machen: DU sitzt vor dem fehlerhaften PC und DU siehst alles, so wie es ist. Das ist ein Riesenvorteil für Dich. Ich kann leider gar nichts sehen, ich bin quasi blind. Ich weiß nichts und ich sehe nichts von dem Server. Deswegen ist es Deine Aufgabe, mich so zuverlässig und so unverfälscht wie möglich in Kenntnis zu setzen, was Du siehst. Die meisten Anwender (und Du wahrscheinlich auch) glauben immer, dass da wahrscheinlich irgendein ganz komplexes Problem vorliegt, wo nur ein Experte helfen kann. Meine Erfahrung ist aber, dass das fast immer ein Irrtum ist. Genau solche komischen Probleme haben extrem häufig eine (wie man im Volksmund sagen würde) "saudoofe" Ursache. Irgendein blöder Tippfehler, ein Dreher, ein Auslasser, irgendetwas ganz blödes, wo man überhaupt nicht hinschaut und was man auch mit Logik nicht großartig herausbekommen kann. Und ich habe nur dann eine Chance, diese Fehler zu finden, wenn ich GENAU DAS GLEICHE zu sehen bekomme, wie Du es siehst.

Mal zwei plakative Beispiele (die übrigens auch bei Dir zutreffen könnten), Fehlerursachen aus der Praxis dieses Forums:

1) Ein Anwender hat konsequent statt .htaccess aus Versehen das Doppel-s am Ende durch ein einfaches s ersetzt, der hat also die ganze Zeit ".htacces" geschrieben. Trotz 1000 mal hinschauen hat er das nicht gesehen. Hier im Forum hat er behauptet (genau wie Du), die Datei hieße .htaccess. Ich mußte ihn zwingen, einen Screenshot des Explorers zu machen (in dem er selbst immer noch nicht gesehen hat, dass er nur ein s geschrieben hatte). Erst als ich es dann endlich gesehen und ihn mit der Nase drauf gedrückt habe, fiel es ihm wie Schuppen aus den Haaren.... der konnte die Welt nicht begreifen, warum er das nicht gesehen hatte, aber so ist das mit solchen Fehlern. So lange er aber hier im Forum schreibt, er hätte die Datei .htaccess genannt, habe ich keine Chance, die wahre Fehlerursache zu finden.

2) Ein anderer Anwender hat die Datei .htaccess mit dem Notepad Editor angelegt. Notepad hat die unangenehme Eigenschaft, beim Speichern die Extension ".txt" an Dateien anzuhängen, wenn sie nicht sowieso vorhanden ist. Gemeinerweise ist der Explorer per Default auch noch so eingestellt, dass er die Extension für "bekannte" Dateitypen (wozu *.txt natürlich gehört) nicht anzeigt. Deswegen hat er immer .htaccess im Explorer gesehen (wer allerdings viel Windows Erfahrung hat, wird dennoch einen Unterschied erkennen), aber in Wirklichkeit hieß die Datei .htaccess.txt(!), und das funktioniert leider nicht.

In beiden Fällen bekommt man auch weder eine Meldung oder eine Warnung, dass man einen falschen Namen genommen hat. Apache findet einfach keine .htaccess und macht dann auch nicht das, was in der vermeintlichen .htaccess steht.

Dreher in Domainnamen sind Standardfehler (aber wenn dann hier nur noch http://www.domainname.de steht, statt des fehlerhaften http://www.meinedomian.de, wie soll ich das finden?), zu viele oder zu wenige Punkte, Leerstellen wo keine hingehören und und und und. Die Möglichkeiten sind unendlich, aber wenn es kaschiert wurde, ist es für mich nicht mehr erkennbar.
Nobbie
 
Posts: 11053
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests