Ich habe eine Mod Neuschreiben auf localhost, aber nicht in godaddy shared Host.godaddy - htaccess Bedingung funktioniert nicht
Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/WebShop/View/public%{REQUEST_URI} -f
RewriteRule ^(.*)$ WebShop/View/public/$1 [L]
RewriteRule ^(.*)$ entryPoint.php [QSA,L]
Das Problem ist mit dem RewriteCond-Teil. Es kann die vorhandenen Dateien im Unterordner nicht finden. Ich habe versucht mit absolutem Pfad, relativem Pfad, Neuschreibungsbasis alles, aber keiner von ihnen hat funktioniert. Godaddy gewährt keinen Zugang zum Rewritelog ... Irgendeine Idee, wie man dieses Problem löst?
Edit:
Die .htaccess in einem Unterordner ist, und im Document-Root ist eine .htaccess, die die Anforderung von Domain in Unterordner teilt:
Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} ([^\.]+\.[^\.]+)$
RewriteRule ^(.*)$ %1/$1 [L,QSA]
Und das eigentliche Problem ist, dass die% {REQUEST_URI} in der .htaccess des Unterordner den Namen des Unterordners enthält auch: S
Edit2:
Ok Ich habe eine Teillösung:
Options -Multiviews
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_URI} ^/([^/]+)/(.*)$
RewriteCond %{DOCUMENT_ROOT}/%1/WebShop/View/public/%2 -f
RewriteRule ^(.*)$ entryPoint.php?file=%2 [L]
RewriteRule ^(.*)$ entryPoint.php [QSA,L]
Dies gibt den Dateinamen, falls vorhanden, aber es ist eine Art von Witz, verursachen, wenn ich die zweite Regel zu
RewriteRule ^(.*)$ x.php [QSA,L]
alles geht dann ändern die x.php. Ich frage mich, warum Mod Rewrite nie die L-Flagge erkennen?
(gehen ein Bier trinken)