# .htaccess im Unterordner wird ignoriert



## Sebo (10. Nov. 2014)

Hallo,
ich versuche seit einiger Zeit das Problem zu lösen, leider konnte ich bis jetzt keine Lösung finden.

Das System:
Shopware 4.3 (Webshop)
Debian/Apache2/Mysql Konfiguration über ISPConfig3 (neuste Version).

Problem:

Der Shop ist im Root /  der Domain installiert. Dort befindet sich diese .htaccess für Shopware.


```
<IfModule mod_rewrite.c>
RewriteEngine on
 
 
 
RewriteBase /
 
RewriteRule shopware.dll shopware.php
RewriteRule files/documents/.* engine [NC,L]
RewriteRule backend/media/(.*) media/$1 [NC,L]
 
 
 
 
 
 
 
RewriteCond %{REQUEST_URI} !(\/(engine|files|templates)\/)
RewriteCond %{REQUEST_URI} !(\/media\/(archive|banner|image|music|pdf|unknown|video)\/)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ shopware.php [PT,L,QSA]
</IfModule>
 
# Staging-Rules start
#SetEnvIf Host "staging.test.shopware.in" ENV=staging
 
DirectoryIndex index.html
DirectoryIndex index.php
DirectoryIndex shopware.php
DirectoryIndex .htaccess
 
# Disables download of configuration
<Files ~ "\.(tpl|yml|ini)$">
    Deny from all
</Files>
 
# Enable gzip compression
<IfModule mod_deflate.c>
    # disable compression on iconset due to loading problems in google chrome on windows
    SetEnvIfNoCase Request_URI icon-set.css$ no-gzip dont-vary
 
    AddOutputFilterByType DEFLATE text/html text/xml text/plain text/css text/javascript application/json
</IfModule>
 
<IfModule mod_expires.c>
<Files ~ "\.(jpe?g|png|gif|css|js)$">
    ExpiresActive on
    ExpiresDefault "access plus 1 month"
    FileETag None
    <IfModule mod_headers.c>
        Header append Cache-Control "public"
        Header unset ETag
    </IfModule>
</Files>
</IfModule>
 
# Disables auto directory index
<IfModule mod_autoindex.c>
   Options -Indexes
</IfModule>
 
<IfModule mod_negotiation.c>
  Options -MultiViews
</IfModule>
 
 
<IfModule mod_php5.c>
#  php_value memory_limit 128M
#  php_value max_execution_time 120
#  php_value upload_max_filesize 20M
   php_flag phar.readonly off
   php_flag magic_quotes_gpc off
   php_flag session.auto_start off
   php_flag suhosin.session.cryptua off
   php_flag zend.ze1_compatibility_mode off
</IfModule>
 
#   AddType x-mapp-php5 .php
#   AddHandler x-mapp-php5 .php
```
Nun möchte ich in dem Unterordner /TestScript eine .htaccess mit Passwortschutz für diesen Ordner einrichten. Leider wird diese ignoriert. Wenn ich die URL http://www.shopdomain.de/TestScript anspreche, passiert nichts. Die URL bleibt zwar in der Adressleiste aber es wird keine Aktion durchgeführt. Eine zum Test erstellte index.html wird auch ignoriert sobald die .htaccess mit im Ordner ist.

Leider wurde ich bei Google nicht fündig. Hat jemand Erfahrung damit?

Vielen Dank im Voraus.

sebo

P.S. Anbei die Konfigurationsdatei der Domain:



```
<Directory /var/www/Shopdomain.de>
      AllowOverride All
            Order Deny,Allow
      Allow from all
      </Directory>
 
<VirtualHost *:80>
               DocumentRoot /var/www/Shopdomain.de/web
          
      ServerName Shopdomain.de
      ServerAlias www.Shopdomain.de
    ServerAlias www.Shopdomain.de Shopdomain.de
      ServerAdmin webmaster@Shopdomain.de
 
      ErrorLog /var/log/ispconfig/httpd/Shopdomain.de/error.log
 
      Alias /error/ "/var/www/Shopdomain.de/web/error/"
      ErrorDocument 400 /error/400.html
      ErrorDocument 401 /error/401.html
      ErrorDocument 403 /error/403.html
      ErrorDocument 404 /error/404.html
      ErrorDocument 405 /error/405.html
      ErrorDocument 500 /error/500.html
      ErrorDocument 502 /error/502.html
      ErrorDocument 503 /error/503.html
 
      <IfModule mod_ssl.c>
      </IfModule>
 
      <Directory /var/www/Shopdomain.de/web>
            # Clear PHP settings of this website
            <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                  SetHandler None
            </FilesMatch>
            Options +FollowSymLinks
            AllowOverride All
                        Order allow,deny
            Allow from all
                  </Directory>
      <Directory /var/www/clients/client4/web12/web>
            # Clear PHP settings of this website
            <FilesMatch ".+\.ph(p[345]?|t|tml)$">
                  SetHandler None
            </FilesMatch>
            Options +FollowSymLinks
            AllowOverride All
                        Order allow,deny
            Allow from all
                  </Directory>
 
 
 
 
      # cgi enabled
   <Directory /var/www/clients/client4/web12/cgi-bin>
                  Order allow,deny
         Allow from all
               </Directory>
      ScriptAlias  /cgi-bin/ /var/www/clients/client4/web12/cgi-bin/
      <FilesMatch "\.(cgi|pl)$">
         SetHandler cgi-script
      </FilesMatch>
      # suexec enabled
      <IfModule mod_suexec.c>
         SuexecUserGroup web12 client4
      </IfModule>
      # php as fast-cgi enabled
   # For config options see: http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html
      <IfModule mod_fcgid.c>
            IdleTimeout 300
            ProcessLifeTime 3600
            # MaxProcessCount 1000
            DefaultMinClassProcessCount 0
            DefaultMaxClassProcessCount 100
            IPCConnectTimeout 3
            IPCCommTimeout 600
            BusyTimeout 3600
      </IfModule>
      <Directory /var/www/Shopdomain.de/web>
            <FilesMatch "\.php[345]?$">
               SetHandler fcgid-script
            </FilesMatch>
            FCGIWrapper /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php
            FCGIWrapper /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php3
            FCGIWrapper /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php4
            FCGIWrapper /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php5
            Options +ExecCGI
            AllowOverride All
                        Order allow,deny
            Allow from all
                  </Directory>
      <Directory /var/www/clients/client4/web12/web>
            <FilesMatch "\.php[345]?$">
               SetHandler fcgid-script
            </FilesMatch>
            FCGIWrapper /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php
            FCGIWrapper /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php3
            FCGIWrapper /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php4
            FCGIWrapper /var/www/php-fcgi-scripts/web12/.php-fcgi-starter .php5
            Options +ExecCGI
            AllowOverride All
                        Order allow,deny
            Allow from all
                  </Directory>
 
 
      # add support for apache mpm_itk
      <IfModule mpm_itk_module>
         AssignUserId web12 client4
      </IfModule>
 
      <IfModule mod_dav_fs.c>
      # Do not execute PHP files in webdav directory
         <Directory /var/www/clients/client4/web12/webdav>
            <ifModule mod_security2.c>
               SecRuleRemoveById 960015
               SecRuleRemoveById 960032
            </ifModule>
            <FilesMatch "\.ph(p3?|tml)$">
               SetHandler None
            </FilesMatch>
         </Directory>
         DavLockDB /var/www/clients/client4/web12/tmp/DavLock
         # DO NOT REMOVE THE COMMENTS!
         # IF YOU REMOVE THEM, WEBDAV WILL NOT WORK ANYMORE!
      # WEBDAV BEGIN
         # WEBDAV END
      </IfModule>
<Directory /var/www/clients/client4/web12/web/TestScript>
AllowOverride All
Order Deny,Allow
Allow from all
</Directory>
 
</VirtualHost>
```


----------



## ramsys (11. Nov. 2014)

Eventuell ist die .htaccess in dem Unterverzeichnis fehlerhaft. Was steht denn dort drin? Erhälst Du eine Fehlermeldung, was steht im Error-Log?


----------



## Sebo (12. Nov. 2014)

Ich erhalte keine Fehlermeldung. Die .htaccess Funktioniert, wenn ich die .htaccess im / entferne.

Ich bin wirklich langsam ratlos. Finde bei Google nichts und bei Shopware konnte mir nicht geholfen werden, weil es anscheinend an der Konfiguration vom Apache liegt.


----------



## nowayback (12. Nov. 2014)

Eigentlich ist die Funktion von .htaccess Dateien ganz einfach. Sie werden von der obersten zur untersten abgearbeitet. Sowie eine "Regel" zutrifft, werden alle darunterliegenden htaccess Dateien ignoriert.
Bei dir trifft also warscheinlich schon eine Regel zu von der .htaccess die im web/ Verzeichnis liegt.


----------



## Sebo (14. Nov. 2014)

Das habe ich mir schon fast gedacht. Aber wie kann man dieses Problem lösen? Gibt es eine Alternative?


----------



## Till (14. Nov. 2014)

Man sollte es immer vermeiden mehr als eine software in ein web zu installieren. warzm legst Du nicht eine neue webseite mit einer subdomain wie test.deinedomain.de für Deine tests an?


----------



## Sebo (18. Nov. 2014)

Es geht ja nicht nur um Tests. Ein Addon von Shopware braucht es. Ist eine Schnittstelle. Ich habe die Pfadnamen geändert, damit es neutraler bleibt.

Es sollte ja eigentlich gehen. Es muss irgendwie an der Konfiguration liegen


----------



## nowayback (18. Nov. 2014)

muss das denn in einer separaten .htaccess datei stehen? Warum kann es nicht in die, die im /web/ liegt?


----------



## Sebo (21. Nov. 2014)

Muss nicht! Nur leider ist jeder Versuch gescheitert :/

Wie ergänze ich die .htaccess im / korrekt?


----------



## ramsys (21. Nov. 2014)

Und wenn Du den Passwort-Schutz für das Unterverzeichnis direkt in ISPConfig unter "Apache Direktiven" konfigurierst? Anstatt in einer .htaccess.


----------

