Ich bin mir ziemlich sicher, dass es sich um ein Problem mit der Apache-Konfiguration handelt, da es beim vorherigen Hosting-Anbieter mit der gleichen PHP/MySQL-Konfiguration funktioniert hat. In meiner Anwendung können die Benutzer Fotos löschen, indem sie auf URIs wie diese gehen:
http://example.com/my-account/remove-media/id/9/ret/my-account%252Fedit-album%252Fid%252F1
Der Parameter id ist eine ID eines Fotos, das entfernt werden soll, der Parameter ret ist eine relative URL, an die der Benutzer nach dem Entfernen des Fotos weitergeleitet werden soll, aber nach dem Klicken auf einen solchen Link erhalte ich den Fehler 404 Not Found mit dem Text:
Not Found
The requested URL /public/my-account/remove-media/id/9/ret/my-account/edit-album/id/1 was not found on this server.
Obwohl es verwendet, um auf meinem vorherigen Hosting-Anbieter arbeiten, so dass ich denke, es ist nur einige einfache Apache-Konfiguration Problem?
Und noch etwas: Es gibt eine htaccess-Datei, die das Dokument Root in /public ändert:
RewriteEngine On
RewriteRule ^\.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /public/index.php [NC,L]
Im öffentlichen Ordner befindet sich eine zweite htaccess-Datei für MVC:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]