.htaccess-Datei - php-cgi mod_php

Hallo zusammen, ich hab folgendes Problem. In unserer .htaccess-Datei machen wir über AddHandler php55-cgi .php die PHP-Version 5.5. aktiv. Lösche ich diese jetzt einfach raus um den mod_php zuzulassen, geht gar nix mehr. Nun muss ich sagen, dass meine htaccess-Kenntnisse gegen null gegen und ich diese Date mal irgendwo herbekommen habe und über die Zeit mit Hilfe von ein paar freundlichen Menschen an der Hotline von unserer Anbieter all-inkl. „weiterentwickelt“. Ich will auf mod_php gehen, weil der php-cgi-Modus meine Verbindung zu JTL-Wawi blockiert (Timeout beim Abgleich) Hier mal die komplette Datei, vielleicht ist ja ein Profi unter EUch, der sofort sieht was meine Basteldatei so korrupt macht. [code]AddHandler php55-cgi .php
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 # Disables download of configuration<files> 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



ExpiresActive on
ExpiresDefault „access plus 1 month“
FileETag None

Header append Cache-Control „public“
Header unset ETag


# Disables auto directory index
Options -Indexes

Options -MultiViews

Memorylimit am 07.05.2013 auf 128M aktiviert (PG)

php_value memory_limit 512M

Zeiten wegen Importproblemen am 21.12.13 angepasst (PG)

php_value max_execution_time 60
php_value max_input_time 60 
php_value upload_max_filesize 20M

Tipp aus Shopware-Forum bei Fehlern im Backend

php_value session.save_path /www/htdocs/w00ec7ca/tmp

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
# AddType x-mapp-php5 .php # AddHandler x-mapp-php5 .php # zum arbeiten mit PHP als CGI 07.05.2013 (PG) # AddHandler php53-cgi .php # PHP error logging aktivieren php_flag log_errors on php_value error_log /www/htdocs/w00ec7ca/logs/php_errors.log # Komprimierung für Javascript und CSS Dateien (PG 07.01.2015) AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript # Aktivieren Browser-Caching (PG 07.01.2015)
ExpiresActive On
ExpiresByType text/css „access plus 1 month“
ExpiresByType application/javascript „access plus 1 month“
ExpiresByType application/x-javascript „access plus 1 month“
ExpiresByType image/png „access plus 3 month“
ExpiresByType image/jpg „access plus 3 month“
# HTTPS config for the backend (hinzugefügt 11.03.2015 PG) RewriteCond %{HTTPS} !=on RewriteRule backend/(.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] # Umleitung von http auf https (hinzu 05.05.2015 PG)
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
[/code] Danke schon mal an alle.

Wenn Du von cgi auf mod gehst und bei all-inkl. bist, musst Du mit KAS=>FTP den Besitzer ändern, weil CGI mit Deiner Userkennung läuft, mod aber mit dem php-user. Somit kann Shopware nichts mehr schreiben - besonders im cache. Den Script-Timeout kannst Du aber auch via .htaccess etwas raufsetzen.

Danke für deine schnelle Antwort. D.h. es reicht wenn ich die 1. Zeile mit dem AddHandler rausnehme und den Benutzer ändere. Muss ich alle meine Dateien und Ordner auf “phpuser” ändern?

Einfach mit “#” ausdokumentieren reicht. # AddHandler php55-cgi .php Wenn an keiner anderen Stelle noch ein “AddHandler” vorhanden ist, läuft es wieder in mod. Ggf. gibts es im Verzeichnisbaum eine Ebene höher noch eine .htaccess - die könnte dann greifen. Rechte: Spätestens wenn Shopware über das Backend ein Update machen möchte, sollten schon alle Schreibrechte vorhanden sein :wink: Zum Testen würde ich erst mal nur den Cache umstellen. Mach Dir aber vorher ein Backup - also im KAS => FTP einfach alles zusammenzippen und runter laden. Bei MOD wirst Du immer ein Problem bekommen, wenn Du normal via FTP zugreifen möchtest - ggf. müsstest Du bei solchen Zugriffen später immer die PHP-USER auf deine Kennung ändern - darum bleibe ich auch bei CGI :slight_smile:

Ich bin ja damals mit Absicht auf CGI gewechselt, weil mir genau das erklärt wurde an der Hotline. Jetzt habe ich halt das Problem das der JTL-WaWi-Abruf nicht tut. Die Hotline schreibt mir dass das CGI-Zeitlimit erreicht wurde aber nicht veränderbar ist, da wir auf einem SharedServer sind. Jetzt wollte ich halt die Empfehlung ausprobieren. Wenn ich das AddHandler auskommentiere komme ich gar nicht mehr auf unsere Seite.

Welches Paket? Und welches PHP läuft im MOD? Nicht, dass das zu alt ist :wink: *hmm* Ich habe die Zeit per .htaccess auf 120 gesetzt - und bekomme den Wert dann auch im Backend angezeigt *Schulter zuck* Wenn Du keine verschlüsselte Plugins benötigen solltest (also keinen ioncube), probier doch mal PHP7 im CGI aus - das läuft merklich flotter! AddHandler php70-cgi .php

Wir haben das “all-inkl Premium”-Paket. Im Mod läuft 5.5 Sobald ich die htaccess-Datei anfasse, bearbeite und wieder hochlade ist mein Shop nicht mehr erreichbar. Erst wenn ich die .htaccess-Datei ausm Backup zurückspiele gehts wieder. Ich wollte das PHP 7 ausprobieren…keine Chance. Selbst wenn ich die Datei nur öffne und speichere, ohne Änderung… Ich krieg echt nen Fön, so dumm kann ich doch net sein, oder doch? :cry: Gruss Paul

Ich weiss nicht, wo bei Dir der Wurm drinne steckt. Eine Möglichkeit: Ich habe gerade bei meinem Testshop den AddHandler entfernt. Laut PHP-Info war es dann nicht mehr PHP 7.0.1 sondern 5.5.x - und zwar weiter im CGI! Man kann auch im KAS (Domaineinstellung) einstellen, ob MOD oder CGI - das greift dann, wenn in der htaccess keine Einstellung ist. Möglich, dass Du im KAS evtl. CGI kleiner 5.5 stehen hast? Dann würde auch ohne AddHandler der Shop im CGI laufen.

Im KAS steht 5.5(als Apache-Modul) bei der besagten bzw. bei allen Domains. Ich kann ja nicht mehr mal was ändern, der Shop ist dann sofort nicht mehr erreichbar. WIe sieht den Deine htaccess aus, wenn ich mal so direkt fragen darf. Ich glaub fast, das meine htaccess so ein fragiles Stückwerk ist, dass nur durch Zufall gerade tut.

Die Original die mit SW4 kam und ggf. per Update (?) modifiziert wurde. Dazu nur AddHandler und Umleitung auf SSL 3 Regeln um Exceptions auf Listing und Newsletter abzublocken. Komisch finde ich Deinen Eintrag zu session und tmp [code]#AddHandler php56-cgi .php AddHandler php70-cgi .php
RewriteEngine on

#RewriteBase /shopware/

#Https config for the backend
RewriteCond %{HTTPS} !=on
#RewriteRule backend/(.) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteRule (.
) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteRule shopware.dll shopware.php
RewriteRule files/documents/.* engine [NC,L]
RewriteRule backend/media/(.*) media/$1 [NC,L]

RewriteRule ^listing/ / [L,R=301] RewriteRule ^listing / [L,R=301]
RewriteRule ^newsletter/https(.*) /404 [L,R=301]

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]

Fix missing authorization-header on fast_cgi installations

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]
# Staging-Rules start #SetEnvIf Host “staging.test.shopware.in” ENV=staging DirectoryIndex index.html DirectoryIndex index.php DirectoryIndex shopware.php # Disables download of configuration
Deny from all
# Enable gzip compression
AddOutputFilterByType DEFLATE text/html text/xml text/plain text/css text/javascript application/json


ExpiresActive on
ExpiresDefault “access plus 1 month”
FileETag None

Header append Cache-Control “public”
Header unset ETag


# Disables auto directory index
Options -Indexes

Options -MultiViews

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
# AddType x-mapp-php5 .php # AddHandler x-mapp-php5 .php [/code]

1 Like

Danke! Hab mal ganz frech deine htaccess kopiert. Seither darf ich auch was ändern. Leider funktioniert PHP 7 nicht. Und CGI komplett raus nehmen geht auch net. Ich häng grad zwischen 2 Hotlines (JTL und all-inkl) und spiele Flüsterpost. Mal schauen was da noch draus wird. Der eine schiebt es auf den anderen. JTL sgat es liegt an der Datenbank. all-inkl. sagt es liegt am Script. :frowning:

Das Private-Paket ist nun auch nicht sonderlich leistungsstark und Du hast viele „Nachbarn“. Selbst business ist eigentlich zu schwach für Shopware. Dazu sind - nach Technikeraussage während einer Nachtsitzung - die verbauten Festplatten eher langsam. Wenn es auf Deinem Server nun munter zugeht, geht die Datenbankleistung schnell runter. So falsch scheint mir die JTL-Aussage nicht zu sein :wink: Du solltest Dich auch bei All-Inkl. erkundigen, wann die Backups laufen - die können den Server richtig in die Knie ziehen - und zu den Zeiten Zugriffe mit JTL vermeiden. So ein Lastproblem hatte ich vor Kurzem, als ein E-Mail Backup wegen zu großem Postfach (anderer User) zu lange lief. Das erklärt natürlich nicht, warum das ohne AddHandler nicht laufen mag. Zu PHP 7 müsstest Du im KAS nachgucken, ob das auf Deinem Server überhaupt schon angeboten wird.

PHP 7.0.1 ist aktiv. Ich schau jetzt mal was mit all-inkl noch geht. Danke Dir sehr für Deine Unterstützung. Meine .htaccess-Datei ist jetzt zumindest wieder clean :slight_smile:

[offtopic] Wärm mal den Cache auf :wink: Du weisst aber schon, dass die Startseite nur eine Einkaufswelt für Desktop hat, und alle kleineren “Breiten” eine leere Seite liefern :frowning:

[quote=“sonic”][offtopic] Wärm mal den Cache auf :wink: Du weisst aber schon, dass die Startseite nur eine Einkaufswelt für Desktop hat, und alle kleineren “Breiten” eine leere Seite liefern :([/quote] Ja, sind wir dran. Umstellung auf 5.1.1 ist jetzt grad am fertig werden. :wink: Kämpfen grad an 2 Fronten :slight_smile: