2017-02-09 2 views
0

Wenn ich versuche, meine Website zu treffen, die bei mydomain.com/subfolder ist, bekomme ich eine 404 (von Apache).404 Fehler beim Anzeigen von CakePHP 3 App auf 1and1

/subfolder/.htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ webroot/ [L] 
    RewriteRule (.*) webroot/$1 [L] 
</IfModule> 

/subfolder/webroot/.htaccess

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule^index.php [L] 
</IfModule> 

Um zu bestätigen, dass mod_rewrite Werke, habe ich dies in der /subfolder/.htaccess Datei, die prompt umgeleitet:

Redirect 301/http://other-domain-owned.com/ 

So .htaccess sind live und mod_rewrite funktioniert.

In meiner Entwicklungsumgebung konnte ich die Website arbeiten in der gleichen /subfolder durch Symply aktivieren .htaccess Dateien für diesen Ordner über eine Directory Richtlinie.

Einige Tutorials sagen, RewriteBase / hinzuzufügen, aber das hat nicht geholfen.

Antwort

1

Anstelle von RewriteBase können Sie auch einen absoluten Pfad verwenden. Zusätzlich können die ersten beiden Regeln zu einem

RewritRule ^(.*)$ /subfolder/webroot/$1 [L] 

ähnlich dem zweiten Teil

RewriteRule^/subfolder/webroot/index.php [L] 

Schließlich vereinfacht werden, Redirect und RewriteRule aus verschiedenen Modulen sind. Wenn also eine der Direktiven funktioniert, ist dies kein Beweis dafür, dass der andere auch funktioniert.

+0

Das funktioniert. Vielen Dank! – TekiusFanatikus