turkish: htaccess Datei wird ignoriert

Hallo,

Ich habe einen Strato Webserver, der Apache Server läuft unter Suse 9.3 und zur Verwaltung wird Serveradmin24 (auch bekannt als Visas) benutzt. Ich habe auch einen root Zugang.

Ich will mit Hilfe von einer .htaccess Datei php-Werte in einem Unterordner ändern. Das Problem ist nun, dass die .htaccess Datei vollständig ignoriert wird. Ich habe einen Ordner erstellt mit einer .htaccess Datei drin und eine simple php Datei nur mit "phpinfo();" zum testen. Es ändert sich kein einziger Wert.

Ausgangslage ist folgender:

In der httpd.conf ist "AllowOverride All" eingestellt. Ich habe auch probiert in einer seperaten Datei, nämlich in /vhost/meineseite.conf einen VirtualHost anzulegen und "AllowOverride All" zu machen. Die letztgenannte Variente wird auch von Strato bevorzugt. Ich habe den Server mit etc/init.d/./apache2 reload neugestartet. Hat auch nicht geholfen.

Ich suche mittlerweile seit einer Woche nach dem Problem und ich hab ganz google durch und jedes Forum durch. Entweder ist es ein simpler Fehler, den ich nicht sehe oder ich weiss auch nicht weiter.

Ich würd mich freuen wenn mir einer helfen könnte.

  1. hi,

    Ich will mit Hilfe von einer .htaccess Datei php-Werte in einem Unterordner ändern. Das Problem ist nun, dass die .htaccess Datei vollständig ignoriert wird.

    Das Problem hier ist, dass du uns überhaupt keine brauchbaren Infos lieferst. In deiner .htaccess könnte xkrggrmpf drinstehen ...

    Und ob PHP bei Strato überhaupt auf eine Weise eingebunden ist, die Änderung von Konfigurationsparametern zur Laufzeit erlaubt, wissen wir auch nicht.

    Ich würd mich freuen wenn mir einer helfen könnte.

    Dann müsstest du uns erst mal helfen, damit wir dir etvl. helfen können.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. Es kann sein, dass mod_rewrite nicht eingebunden ist als mod. Hab kurz reingeguckt. In den Dateien wo die module eingebindet werden steht kein mod_rewrite.

      Hier ist meine httpd.conf:

      
      #
      # /etc/apache2/httpd.conf
      #
      # This is the main Apache server configuration file.  It contains the
      # configuration directives that give the server its instructions.
      # See <URL:http://httpd.apache.org/docs-2.0/> for detailed information about
      # the directives.
      
      # Based upon the default apache configuration file that ships with apache,
      # which is based upon the NCSA server configuration files originally by Rob
      # McCool. This file was knocked together by Peter Poeml <poeml+apache@suse.de>.
      
      # If possible, avoid changes to this file. It does mainly contain Include
      # statements and global settings that can/should be overridden in the
      # configuration of your virtual hosts.
      
      
      # Overview of include files, chronologically:
      #
      # httpd.conf
      #  |
      #  |-- uid.conf  . . . . . . . . . . . . . .  UserID/GroupID to run under
      #  |-- server-tuning.conf  . . . . . . . . .  sizing of the server (how many processes to start, ...)
      #  |-- sysconfig.d/loadmodule.conf . . . . .  [*] load these modules
      #  |-- listen.conf . . . . . . . . . . . . .  IP adresses / ports to listen on
      #  |-- mod_log_config.conf . . . . . . . . .  define logging formats
      #  |-- sysconfig.d/global.conf . . . . . . .  [*] server-wide general settings
      #  |-- mod_status.conf . . . . . . . . . . .  restrict access to mod_status (server monitoring)
      #  |-- mod_info.conf . . . . . . . . . . . .  restrict access to mod_info
      #  |-- mod_autoindex-defaults.conf . . . . .  defaults for displaying of server-generated directory listings
      #  |-- mod_mime-defaults.conf  . . . . . . .  defaults for mod_mime configuration
      #  |-- errors.conf . . . . . . . . . . . . .  customize error responses
      #  |-- ssl-global.conf . . . . . . . . . . .  SSL conf that applies to default server _and all_ virtual hosts
      #  |
      #  |-- default-server.conf . . . . . . . . .  set up the default server that replies to non-virtual-host requests
      #  |    |--mod_userdir.conf  . . . . . . . .  enable UserDir (if mod_userdir is loaded)
      #  |    `--conf.d/apache2-manual?conf  . . .  add the docs ('?' = if installed)
      #  |
      #  |-- sysconfig.d/include.conf  . . . . . .  [*] your include files
      #  |                                             (for each file to be included here, put its name
      #  |                                              into APACHE_INCLUDE_* in /etc/sysconfig/apache2)
      #  |
      #  `-- vhosts.d/ . . . . . . . . . . . . . .  for each virtual host, place one file here
      #       `-- *.conf . . . . . . . . . . . . .     (*.conf is automatically included)
      #
      #
      # Files marked [*] are created from sysconfig upon server restart: instead of
      # these files, you edit /etc/sysconfig/apache2
      
      
      
      #  Filesystem layout:
      #
      # /etc/apache2/
      #  |-- conf.d/
      #  |   |-- apache2-manual.conf . . . . . . .  conf that comes with apache2-doc
      #  |   |-- mod_php4.conf . . . . . . . . . .  (example) conf that comes with apache2-mod_php4
      #  |   `-- ... . . . . . . . . . . . . . . .  other configuration added by packages
      #  |-- default-server.conf
      #  |-- errors.conf
      #  |-- httpd.conf  . . . . . . . . . . . . .  top level configuration file
      #  |-- listen.conf
      #  |-- magic
      #  |-- mime.types -> ../mime.types
      #  |-- mod_autoindex-defaults.conf
      #  |-- mod_info.conf
      #  |-- mod_log_config.conf
      #  |-- mod_mime-defaults.conf
      #  |-- mod_perl-startup.pl
      #  |-- mod_status.conf
      #  |-- mod_userdir.conf
      #  |-- mod_usertrack.conf
      #  |-- server-tuning.conf
      #  |-- ssl-global.conf
      #  |-- ssl.crl/  . . . . . . . . . . . . . .  PEM-encoded X.509 Certificate Revocation Lists (CRL)
      #  |-- ssl.crt/  . . . . . . . . . . . . . .  PEM-encoded X.509 Certificates
      #  |-- ssl.csr/  . . . . . . . . . . . . . .  PEM-encoded X.509 Certificate Signing Requests
      #  |-- ssl.key/  . . . . . . . . . . . . . .  PEM-encoded RSA Private Keys
      #  |-- ssl.prm/  . . . . . . . . . . . . . .  public DSA Parameter Files
      #  |-- sysconfig.d/  . . . . . . . . . . . .  files that are created from /etc/sysconfig/apache2
      #  |   |-- global.conf
      #  |   |-- include.conf
      #  |   `-- loadmodule.conf
      #  |-- uid.conf
      #  `-- vhosts.d/ . . . . . . . . . . . . . .  put your virtual host configuration (*.conf) here
      #      |-- vhost-ssl.template
      #      `-- vhost.template
      
      
      
      ### Global Environment ######################################################
      #
      # The directives in this section affect the overall operation of Apache,
      # such as the number of concurrent requests.
      
      # run under this user/group id
      Include /etc/apache2/uid.conf
      
      # - how many server processes to start (server pool regulation)
      # - usage of KeepAlive
      Include /etc/apache2/server-tuning.conf
      
      # ErrorLog: The location of the error log file.
      # If you do not specify an ErrorLog directive within a <VirtualHost>
      # container, error messages relating to that virtual host will be
      # logged here.  If you *do* define an error logfile for a <VirtualHost>
      # container, that host's errors will be logged there and not here.
      ErrorLog /var/log/apache2/error_log
      
      # generated from APACHE_MODULES in /etc/sysconfig/apache2
      Include /etc/apache2/sysconfig.d/loadmodule.conf
      
      # IP addresses / ports to listen on
      Include /etc/apache2/listen.conf
      
      # predefined logging formats
      Include /etc/apache2/mod_log_config.conf
      
      # generated from global settings in /etc/sysconfig/apache2
      Include /etc/apache2/sysconfig.d/global.conf
      
      # optional mod_status, mod_info
      Include /etc/apache2/mod_status.conf
      Include /etc/apache2/mod_info.conf
      
      # optional cookie-based user tracking
      # read the documentation before using it!!
      Include /etc/apache2/mod_usertrack.conf
      
      # configuration of server-generated directory listings
      Include /etc/apache2/mod_autoindex-defaults.conf
      
      # associate MIME types with filename extensions
      TypesConfig /etc/apache2/mime.types
      DefaultType text/plain
      Include /etc/apache2/mod_mime-defaults.conf
      
      # set up (customizable) error responses
      Include /etc/apache2/errors.conf
      
      # global (server-wide) SSL configuration, that is not specific to
      # any virtual host
      Include /etc/apache2/ssl-global.conf
      
      # forbid access to the entire filesystem by default
      #<Directory />
      #Options None
      #AllowOverride None
      #Order deny,allow
      #Deny from all
      #</Directory>
      <Directory />
      Options -Indexes +FollowSymLinks +Includes
      AllowOverride All
      </Directory>
      
      # use .htaccess files for overriding,
      AccessFileName .htaccess
      # and never show them
      <Files ~ "^\.ht">
      Order allow,deny
      Deny from all
      </Files>
      
      # List of resources to look for when the client requests a directory
      DirectoryIndex index.html index.html.var
      
      ### 'Main' server configuration #############################################
      #
      # The directives in this section set up the values used by the 'main'
      # server, which responds to any requests that aren't handled by a
      # <VirtualHost> definition.  These values also provide defaults for
      # any <VirtualHost> containers you may define later in the file.
      #
      # All of these directives may appear inside <VirtualHost> containers,
      # in which case these default settings will be overridden for the
      # virtual host being defined.
      #
      Include /etc/apache2/default-server.conf
      
      <IfModule mod_suphp.c>
      suPHP_Engine on
      php_admin_flag engine off
      AddType application/x-httpd-php .php
      AddType application/x-httpd-php .php3
      AddType application/x-httpd-php .php4
      AddHandler x-httpd-php .php
      DirectoryIndex index.php
      DirectoryIndex index.php3
      DirectoryIndex index.php4
      </IfModule>
      
      
      # Another way to include your own files
      #
      # The file below is generated from /etc/sysconfig/apache2,
      # include arbitrary files as named in APACHE_CONF_INCLUDE_FILES and
      # APACHE_CONF_INCLUDE_DIRS
      Include /etc/apache2/sysconfig.d/include.conf
      
      
      ### Virtual server configuration ############################################
      #
      # VirtualHost: If you want to maintain multiple domains/hostnames on your
      # machine you can setup VirtualHost containers for them. Most configurations
      # use only name-based virtual hosts so the server doesn't need to worry about
      # IP addresses. This is indicated by the asterisks in the directives below.
      #
      # Please see the documentation at
      # <URL:http://httpd.apache.org/docs-2.0/vhosts/>
      # for further details before you try to setup virtual hosts.
      #
      # You may use the command line option '-S' to verify your virtual host
      # configuration.
      #
      Include /etc/apache2/vhosts.d/*.conf
      
      
      <VirtualHost _default_:443>
      DocumentRoot /usr/local/visas/public_html/
      ServerName meine-seite.de
      ServerAlias www.meine-seite.de
      php_admin_value open_basedir /usr/local/visas/public_html/ssl/
      php_admin_value engine off
      IndexOptions
      DirectoryIndex index.htm index.html index.shtml start.htm start.html start.shtml index.php index.php3
      SSLEngine on
      SSLCertificateFile /etc/apache2/ssl.crt/server.crt
      SSLCertificateKeyFile /etc/apache2/ssl.key/server.key
      Redirectpermanent /adminlevel https://meine-seite.de:22222/adminlevel
      Redirectpermanent /domainadminlevel https://meine-seite.de:22222/domainadminlevel
      Redirectpermanent /serveradminlevel https://meine-seite.de/serveradminlevel
      Redirectpermanent /mail https://meine-seite.de:22222/webmail
      Redirectpermanent /webmail https://meine-seite.de:22222/webmail
      Redirectpermanent /support https://meine-seite.de:22222/support
      Redirectpermanent /mysql https://meine-seite.de:22222/mysql
      </VirtualHost>
      
      <VirtualHost *:80>
      DocumentRoot /usr/local/visas/public_html/
      ServerName meine-seite.de
      ServerAlias www.meine-seite.de
      php_admin_value open_basedir /usr/local/visas/public_html/ssl/
      php_admin_value engine off
      SSLEngine off
      IndexOptions
      DirectoryIndex index.htm index.html index.shtml start.htm start.html start.shtm index.php
      Redirectpermanent /adminlevel https://meine-seite.de:22222/adminlevel
      Redirectpermanent /domainadminlevel https://meine-seite.de:22222/domainadminlevel
      Redirectpermanent /serveradminlevel https://meine-seite.de:22222/serveradminlevel
      Redirectpermanent /mail https://meine-seite.de:22222/webmail
      Redirectpermanent /webmail https://meine-seite.de:22222/webmail
      Redirectpermanent /support https://meine-seite.de:22222/support
      Redirectpermanent /mysql https://meine-seite.de:22222/mysql
      Redirectpermanent /ssl https://meine-seite.de/ssl/
      </VirtualHost>
      
      Include /usr/local/visas/etc/subdomains.conf
      
      
      

      Die .htaccess Datei wird auch nicht komplett ignoriert. Es kommt ein Fehler 500 wenn eine falsche Syntax in der .htaccess Datei ist. Jedoch werden halt die php-Werte nicht geändert.

      Hier noch meine .htaccess Datei:

      
      
      #
      # Set
      #
      # AllowOverride FileInfo
      #
      # to enable parsing off this file
      #
      php_value memory_limit 32M
      php_value max_execution_time 60
      php_flag register_globals Off
      php_flag magic_quotes_gpc Off
      php_flag magic_quotes_runtime Off
      # settings for the file upload, you might increase them further
      php_value upload_max_filesize 16M
      # session handling: now the check for expired sessions is done on every 10th session creation
      php_flag session.use_trans_sid Off
      php_value session.gc_probability 1
      php_value session.gc_divisor 10
      # multibyte extension: needed for utf-8
      php_value mbstring.func_overload 7
      
      
      
  2. Ich schick mal vorraus, daß ich eigentlich null Profi auf dem Gebiet bin, hab mich aber kürzlich auch mit der Sache beschäftigt (bei 1&1 in nem normalen Hosting-Paket) und bin schier verzweifelt.

    Folgende Punkte solltest Du klären:

    1. ist mod_rewrite bei Dir überhaupt geladen? Dazu müßte in der httpd.conf stehen:

    LoadModule rewrite_module modules/mod_rewrite.so ohne # am Anfang

    Außerdem sollte im Directory-Bereich noch stehen:

    Options -Indexes +FollowSymLinks +Includes

    2. Bist Du Dir sicher, das AllowOverride All der richtige Parameter ist?
    Wahrscheinlich schon, bei mir jedenfalls steht explizit AllowOverride FileInfo.

    3. Speichere mal in deinen Root eine .htaccess mit folgendem Inhalt:

    RewriteEngine On
    RewriteRule ^ http://www.google.de [R,L]

    Wenn Du jetzt irgend ne beliebige Seite auf Deinem Server aufrufst, muß die Google-Seite geladen werden. Ist das nicht der Fall, stimmt Deine Apache Konfiguration noch nicht.

    4. Wenn Punkt 3 funktioniert, achte mal auf Deine Syntax:

    Ich geb Dir hier ein Beispiel, ganz simpel, hat mich aber Stunden an erfolglosem probieren und recherchieren gekostet, ist aber u.U. 1&1-spezifisch:

    Bei mir in meiner Testumgebung zuhause mit Xampp hab ich mod_rewrite getestet und wollt einfach nur, daß anstatt der aufgerufenen test.php eine test.html vorgegaukelt wird. Der Inhalt der .htaccess sah so aus:

    RewriteEngine On
    RewriteRule test.html$ test.php

    Das hat prima funktioniert, bei 1&1 jedoch nicht. Erst nachdem ich die Datei so abgeändert hab, lief es auch auf dem Server:

    RewriteEngine on
    RewriteBase /
    RewriteRule ^test.html$ /test.php

    Ich hab also als Basis erst einmal das Root-Verzeichnis definiert, was aber wichtig war, war, daß auch die test.php, die im Rootverzeichnis liegt, nochmal mit einem beginnenden Slash ausgezeichnet sein mußte.

    Warum das so ist und an was das liegt, hab ich bisher nicht in Erfahrung bringen können, aber vielleicht findet sich hier noch jemand, der die Hintergründe dazu kennt.

    Hoffe ich konnt Dir weiterhelfen, daß war es wahrscheinlich auch schon mit meinem Latein ;)

    Gruß, Joe

  3. Mittlerweile denke ich, dass ich weitergekommen bin. In einem anderen Forum meinte man mir, dass es daran liegen könnte wenn PHP über die CGI Schnittstelle läuft, dass htaccess Dateien nicht die PHP-Werte ändern können.

    Bei Strato läuft suPHP, welches über die CGI Schnittstelle läuft. Gibt es denn doch noch Alternativen wie man PHP- Werte für meinen einen VirtualHost ändern kann, ohne dass man die anderen VirtualHosts beeinflusst ?

    1. Danke leute ich hab das Problem gelöst. Der richtige Hinweis kam von einem anderen Forum. Das Problem lag darin, dass ich suPHP habe auf meinem Strato Server. Also ging es nicht php_werte mit Hilfe von .htaccess direkt zu ändern. Ich musste eine lokale php.ini erstellen und in der .htaccess Datei mit:

      suPHP_ConfigPath /Pfad_zu_meiner_php.ini

      darauf hinweisen.

      Mfg turkish