Ich habe eine einfache Struktur:
Root
|-- [app] (Symfony Application)
| |-- [app]
| |-- [bin]
| |-- [src]
| |-- [vendor]
| |-- [web]
| |-- .htaccess (Symfony htaccess)
|
|-- [wp-admin]
|-- [wp-content]
|-- [wp-include]
|-- .htaccess (Root htaccess)
Ich brauche folgendes Mapping:
http://example.com ==> WordPress
http://example.com/app ==> Symfony Application
Das habe ich:
Root-htaccess:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^app(.*)$ app/web/$1 [L,QSA]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Symfony-htaccess:
DirectoryIndex app.php
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
RewriteRule ^(.*) - [E=BASE:%1]
RewriteCond %{HTTP:Authorization} .
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^app\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^ %{ENV:BASE}/app.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 302 ^/$ /app.php/
</IfModule>
</IfModule>
Problem:
Das Problem ist, dass Symfony-Routen nicht aufgelöst werden:
Keine Route für “GET /” gefunden
Gibt es dafür eine einfache Lösung?
Gibt es Einschränkungen, was Sie ändern können? Zum Beispiel, wenn der Webhosting-Anbieter Ihnen keinen SSH-Zugriff gewährt oder Änderungen an der zugrunde liegenden Apache-Konfiguration oder -Modulen zulässt oder dass Sie die Verzeichnisstruktur Ihres Projekts nicht ändern können?
– Adam Elsodaney
21. Januar 2018 um 14:47 Uhr
Ich habe keinen Shell-Zugriff. Ich habe eine Lösung mit
/web
in URLs, aber ich möchte das mit einer einfachen Lösung loswerden. Ich ziehe es vor, die Verzeichnisstruktur von Symfony nicht aufzubrechen– Pmpr.ir
21. Januar 2018 um 16:10 Uhr
Wenn Sie zumindest über ein Verwaltungstool verfügen, können Sie möglicherweise eine Subdomain auf den Webordner verweisen?
– Yoshi
22. Januar 2018 um 14:43 Uhr