2016-09-12 2 views
1

Ich sah eine fast identische Frage zu mir, aber die akzeptierte Antwort funktioniert aus irgendeinem Grund nicht.wie htaccess-Datei zu konfigurieren, wenn der Hauptcontroller im Öffentlichen Ordner

Mein Problem ist, dass ich nicht auf index.php zugreifen kann, die in einem öffentlichen Ordner sitzt. Ich habe unzählige Kombinationen ausprobiert und glaube, dass es im richtigen Ordner ist - dem öffentlichen Ordner.

Die Antwort, die nicht funktionierte, war, die ReWriteBase% {DOCUMENT_ROOT}/public zu machen. Ich habe das getan, aber bekomme einen Index von. Zumindest der öffentliche Ordner ist jedoch nicht sichtbar, so dass es sich anfühlt, als ob ich näher komme.

Jede Hilfe wird geschätzt.

PS. Ich kann die Anwendung auf meinem lokalen Computer mit RewriteBase/Projektname/public sehen, aber die URL muss öffentlich sein oder ich bekomme einen Index der Seite. Ich möchte den öffentlichen Teil loswerden und von der Wurzel (Domänenname) abarbeiten.

Hier ist meine .htaccess-Datei:

Options -MultiViews 
RewriteEngine On 
RewriteBase %{DOCUMENT_ROOT}/public 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

Aktualisiert .htaccess-Datei:

Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase /public/ 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] 

Antwort

0

RewriteBase soll relativen Pfad von DocumentRoot nicht vollständigen Pfad sein.

Hier gibt es 2 .htaccess Sie verwenden müssen:

root/.htaccess:

RewriteEngine On 

RewriteRule .* public/$0 [L] 

public/.htaccess:

DirectoryIndex index.php 
Options +FollowSymLinks -MultiViews 
RewriteEngine On 
RewriteBase /public/ 

RewriteRule ^index\.php$ - [L,NC] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .* index.php?url=$0 [QSA,L] 
+0

Vielen Dank für Ihre Antwort. Ich muss etwas falsch machen. Sie sind eindeutig ein Experte. Ich bekomme den gleichen Index der Seite, der den öffentlichen Ordner enthält. Würde die URL helfen? – JimB814

+1

Das ist sehr nett. Vielen Dank. – JimB814

+0

Danke. Die Datei htaccess befindet sich im öffentlichen Ordner. URL = seabreezespa.com – JimB814

Verwandte Themen