Jump to content

[GELÖST] Option "Vereinfachte URL" kann nicht aktiviert werden


Recommended Posts

Hallo,

 

wenn ich in meinem PrestaShop 1.5.4.1 unter Voreinstellungen -> SEO & URLs die Option "Vereinfachte URL" auf "Ja" setze und dann "Speichern" wähle, erhalte ich vom Webserver die Fehlermeldung "HTTP 403 Forbidden"

 

Folgende Tests habe ich nun durchgeführt:

 

1. Gem. diesem Test funktioniert mode_rewrite auf meinem Server (Test)

 

2. Die URL welche den 403 zurückgibt ist:

 

/admin1234/index.php?controller=AdminMeta&token=b50100d5c109c9ea9ccb4fc88d8dd841f

 

Auch wenn ich VOR dem "Speichern" in /admin1234/index.php ganz oben ein die("hallo"); einbaue, erscheint der 403 Error. Wenn ich dann in Internet Explorer einen Refresh (F5) mache, wird das hallo ausgegeben.

 

3. .htaccess im root Verzeichnis umbenannt, ohne Erfolg.

 

4. Die Berechtigungen geprüft, scheinen aber auch korrekt zu sein: Dirs 755 / Files 644

 

Anbei 3 Screenshots. Bis auf diese Funktion funktioniert der PrestaShop ansich ohne Probleme.

 

Weiss jemand, wie ich diesem Fehler auf die Spur kommen kann / was ich noch testen könnte?

 

thanks

pronux

post-150787-0-23214500-1369316332_thumb.png

post-150787-0-95664100-1369316337_thumb.png

post-150787-0-08128900-1369316345_thumb.png

Edited by Pronux (see edit history)
  • Like 1
Link to comment
Share on other sites

Danke für den Hinweis. Ich war mir bei der Forumskategorie nicht sicher, weil es auch darum geht, wie man PrestaShop generell debuggen kann (Vorgehensweise).

 

Frage: Kann ich meinen Post selber verschieben oder löschen & neu erstellen?

Edited by Pronux (see edit history)
  • Like 1
Link to comment
Share on other sites

Done. Untertiteln der Forumskategorie enthalten eine Kurzbeschreibung.

 

Auf was bezieht sich deine Frage ?

Debug-Modus aktivieren ?

 

AM FTP die Datei /config/defines.inc.php wie folgt bearbeiten:

 

/* Debug only */
define('_PS_MODE_DEV_', true);
if (_PS_MODE_DEV_)
{
@ini_set('display_errors', 'on');
define('_PS_DEBUG_SQL_', true);
/* Compatibility warning */
define('_PS_DISPLAY_COMPATIBILITY_WARNING_', true);
}

 

Auch weiter unten

 

define('_PS_DEBUG_PROFILING_', true);

 

Kann wichtig für das Debuggen der Database-Queries sein.

  • Like 2
Link to comment
Share on other sites

Ich sehe gerade, du bist Microsoft Spezialist. Der Server ist ein Apache ? Windows-Server verstehen keine .htaccess. Diese muss in eine web.config umgeschrieben werden. IIS-Manager hat einen translator hierfür.

 

CHMOD gibt es ebenso wenig, da die Rechte auf einem Windows-Server auf eine andere Ebene gesetzt werden.

  • Like 1
Link to comment
Share on other sites

Vielen Dank für die Hilfe :)

 

Also dieser PrestaShop unseres Kunden läuft bei einem Webhoster auf LAMP. So wie ich es beurteile, wurde der Server via PLESK konfiguriert, mit folgender PHP config:

 

PHP Version 5.2.17

Server API: CGI

 

safe_mode Off Off

safe_mode_exec_dir no value no value

safe_mode_gid Off Off

safe_mode_include_dir no value no value

 

Anmerkung 1: Habe gerade bemerkt, dass auf der gleichen Seite die Funktion "robots.txt erzeugen" auch zu einem 403 führt.

Anmerkung 2: "1-Click Upgrade" von 1.5.4 auf 1.5.4.1 hat ohne Probleme funktioniert.

  • Like 1
Link to comment
Share on other sites

ok, wie es scheint, funktioniert bei diesem Shop der Button "Speichern" auf der Seite "SEO & URLs" generell nicht d.h. wenn man irgendeine oder keine Änderung vornimmt, wird durch "Speichern" "HTTP 403 Forbidden" ausgegeben. Werde jetzt mal schauen, wo genau der Unterschied zwischen diesem Formular (form) und den anderen (funktionierenden) genau liegt.

  • Like 1
Link to comment
Share on other sites

Der Mörder ist immer der Gärtner Webhoster! :angry: Also, nachdem ich nun mehrere Stunden mit Chrome, Fiddler und Nmap den Traffic studiert habe, ist nun klar, wo der "Speichern"-Vorgang abgemurkst wurde. Zuerst dachte ich, es liege an einem Fehler bei den

da ich im Back Office mal ein Problem damit hatte. Allerdings habe ich dann gesehen, dass der HTTP-Request gar nicht bis zum PHP-Parser durchgelassen wird (HTTP 403 Forbidden kommt in vielen (meisten) Fällen vom Webserver)

 

Ich habe dann die Übertragung des ensprechenden Formulars (form) von der Seite "SEO & URLs" aufgezeichnet und anschliessend in verschiedenen Versionen an den Webserver gepostet. Und siehe da: Sobald man das Feld PS_HTACCESS_DISABLE_MULTIVIEWS weglässt, wird der Request durchgelassen und PrestaShop reagiert darauf. Ich gehe daher davon aus, dass der Webhoster irgendein Security-Modul installiert hat welches HTTP-Posts filtert / zurückweist.

 

Workaround:

 

z.B. via Chrome den POST-Request aufzeichnen und dann selber ein HTML Form erstellen mit den entsprechenden Feldern & Action. Zum Schluss dieses mit dem Browser welcher am Back Office angemeldet ist, abschicken.

 

 

<form method="post" action="http://www.mydomain.ch/admin1234/index.php?controller=AdminMeta&token=b5010035c101259ea9ccb4fc88855d841f">

<input name="PS_REWRITING_SETTINGS"                           value="1"      />
<input name="PS_ALLOW_ACCENTED_CHARS_URL"          value="0"      />
<input name="PS_CANONICAL_REDIRECT"                           value="1"      />
<!--<input name="PS_HTACCESS_DISABLE_MULTIVIEWS"   value="0"     />-->
<input name="PS_HTACCESS_DISABLE_MODSEC"               value="0"      />
<input name="submitOptionsmeta"                                          value="1"      />
<input name="domain"                                                             value="www.mydomain.ch"  />
<input name="domain_ssl"                                                       value="www.mydomain.ch"  />
<input name="uri"                                                                     value="/"      />
<input name="submitRobots"                                                   value="none"     />


<input name="GO" type="submit" value="submit"         />
</form>

 

Hoffe, diese Info hilft falls jemand ein ähnliches Problem hat. Bitte um Ergänzung/Korrektur falls jemand eine bessere Lösung hat.

Edited by Pronux (see edit history)
  • Like 1
Link to comment
Share on other sites

Apache multi-views kannst du aber selbst abschalten unter Voreinstellungen -> SEO & URL's. Per default ist es eigentlich auf Nein gesetzt, weil eben viele Server das nicht akzeptieren. Im Zweifelsfall immer die Standardeinstellungen belassen.

Link to comment
Share on other sites

Die multiviews-Einstellung war auch in meinem Shop nie aktiviert. Das Problem in meinem Fall war, dass das Feld PS_HTACCESS_DISABLE_MULTIVIEWS bei jedem "Speichern"-Vorgang mitgeschickt wurde und der HTTP-Post dann vom Webserver zurückgewiesen wurde. Ich habe den Post-Request daher kopiert und das Feld dann einfach auskommentiert (sicher keine schöne Lösung...)

  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...