2017-04-14 5 views
1

Ich bin auf der Suche nach einer .htaccess-Datei, die alle statischen Bilder als normal dient, sondern alle anderen Anfragen an die index.php-Datei, die in der gleichen Ordner ist als sagte .htaccess-Datei. Dies ist mein Code bisher, der nicht zu funktionieren scheint. Es wird auf eine index.php verwiesen, die höher in der Ordnerstruktur liegt..htaccess zum Bereitstellen statischer Dateien; route alle anderen Anfragen zu index.php im selben Ordner

RewriteEngine On 
RewriteBase/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /.*index\.php 
RewriteRule ^index.php/?(.*)$ $1 [R=301,L] 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.php/$1?%{QUERY_STRING} [L] 
+0

Wenn dies auf einer Unterordnerebene ist, versuchen Sie, die 'RewriteBase'-Direktive zu entfernen, da dies dem Server sagt, dass er den höheren Teil verwenden soll. Alternativ ändern Sie die 'RewriteBase' in den Ordner, in dem Sie sich befinden. Das sollte funktionieren – gabe3886

+1

Danke. Ich entschied mich für Letzteres. Wenn ich 'RewriteBase/PATH-TO-PROJECT /' verwende, funktioniert es. Sie könnten dies als Antwort hinzufügen, damit ich es akzeptieren kann. –

Antwort

0

Da es sich bei Unterordnerebene, das Problem ist, dass die RewriteBase im Stammverzeichnis zeigt. Sie können entweder die RewriteBase Direktive entfernen oder sie als den Ordner ändern, in dem sich die .htaccess-Datei befindet, sodass das Umschreiben von diesem Punkt aus funktionieren kann.

+0

Danke. 'RewriteBase/PATH-TO-PROJECT /' ist eine perfekte Lösung. –

Verwandte Themen