Yii2 entfernen index.php von url

Wenn ich die option in Yii zu entfernen index.php aus der URL bekomme ich einen 404-Fehler und dieser Fehler in die error-logs File does not exist: /var/live/var. In meinem browser bekomme ich diesen Fehler The requested URL /var/decat/frontend/web/index.php was not found on this server. aber die Datei ist genau in dieser Lage. Was erklären könnte, dass ist, dass mein document root ist /var/live und decat ist ein alias, wie gezeigt, in der conf Datei.

Diese url funktioniert http://130.211.165.180/decat/index.php/site/login aber wenn ich es entfernen index.php wenn ich den Fehler. Ich folgte allen Anweisungen, um es einzurichten in der conf-Datei. Ich habe sogar versucht über eine .htaccess-Datei. Hier ist die info aus meiner conf-Datei.

Alias /decat /var/decat/frontend/web

<Directory "/var/decat/frontend/web">
        # use mod_rewrite for pretty URL support
        RewriteEngine on
        # If a directory or a file exists, use the request directly
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        # Otherwise forward the request to index.php
        RewriteRule . index.php 
        Options -Indexes FollowSymLinks 
        AllowOverride All
        Order allow,deny 
        Allow from all 
</Directory>
  • Die config sieht ok aus. Haben Neustart des apache-service?
  • Ich habe es neu gestartet und jetzt bekomme ich den neuen Fehler, dass ich geschrieben in der Frage
  • Wenn Sie sagen, dass Ihr DocumentRoot-Verzeichnis ist /var/live dann verstehe ich nicht, warum Sie den Alias zu /var/decat und nicht zu var/live. Versuchen Alias /decat /var/live/frontend/web und auch <Directory "/var/live/frontend/web">...
  • Weil ich nicht den Ordner im document root um die Sicherheit zu erhöhen, das ist, warum ich bin mit einen alias für den Zugriff auf die einzige Ordner, der zugänglich sein sollte. Der Ordner ist in var/decat, es funktioniert gut mit der index.php damit der alias korrekt arbeitet
  • Versuchen Sie, fügen Sie RewriteBase /decat/ nach RewriteEngine on (und apache neu starten)
  • das war es, fügen Sie bitte Ihren Kommentar als eine Antwort, damit ich zuordnen kann, die bounty

Schreibe einen Kommentar