it-swarm.com.de

die angeforderte URL wurde auf diesem Server nicht gefunden

Ich habe einen Ubuntu 14.04 Kernel. Ich habe meine Laravel-Anwendung auf diesem Server installiert. Nach der Installation habe ich versucht, das Stammverzeichnis auf public zu setzen. 

Sudo nano /etc/Apache2/sites-available/000-default.conf

Ich habe nur diese Optionen in der Datei

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port t$
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual Host. For the default virtual Host (this file) this
        # value is not decisive as it is used as a last resort Host regardless.
        # However, you must set it for any further virtual Host explicitly.
        #ServerName www.example.com

        ServerAdmin [email protected]
        DocumentRoot /var/www/html/public/

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${Apache_LOG_DIR}/error.log
        CustomLog ${Apache_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual Host. For example the
        # following line enables the CGI configuration for this Host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf
</VirtualHost>

# vim: syntax=Apache ts=4 sw=4 sts=4 sr noet

Ich habe das Dokumentstammverzeichnis in geändert

DocumentRoot /var/www/html/public/

Als ich nun versuchte, auf meine Laravel-App zuzugreifen, wird über 123.xxx.xxx.xxx/ die Startseite angezeigt und sie funktioniert einwandfrei. Es erhält auch alle GET-Variablen. ZB: 123.xxx.xxx.xxx?type=wefwef

Wenn ich jedoch auf andere Links wie 123.xxx.xxx.xxx/login gehe, wird ein Fehler angezeigt

Not Found

The requested URL /login/ was not found on this server.

Apache/2.4.7 (Ubuntu) Server at 104.236.234.85 Port 80

Ich habe die routen.php gut auf localhost. Aber nicht auf diesem Server. Bitte hilf mir. 

36
user1012181

Es sieht so aus, als müssten Sie .htaccess aktivieren, indem Sie dies Ihrem vhost hinzufügen:

<Directory /var/www/html/public/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Wenn dies nicht funktioniert, stellen Sie sicher, dass Sie mod_rewrite aktiviert haben.

Vergessen Sie nicht, Apache nach den Änderungen neu zu starten! (service Apache2 restart)

89
lukasgeiter

Ich habe es folgendermaßen gelöst: Überprüfen Sie, ob sich in Ihrem Apache ein Modul namens rewrite.load befindet:

cd /etc/Apache2/mods-enabled/

Wenn es nicht existiert, führen Sie den folgenden Auszug aus:

Sudo a2enmod rewrite

Andernfalls ändern Sie die Apache-Konfigurationsdatei, um die Verwendung der "befreundeten URL" zu konsolidieren.

Sudo nano /etc/Apache2/Apache2.conf

Suchen Sie den folgenden Code im Editor:

<Directory /var/www/> 
   Options Indexes FollowSymLinks
   AllowOverride None
   Require all granted
</Directory> 

Ändern: 

<Directory /var/www/> 
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

Starten Sie danach den Apache-Server erneut über: 

Sudo /etc/init.d/Apache2 restart
25
Lucas Coelho

Aktivieren Sie zunächst a2enmod rewritenext den Apache neu 

/etc/init.d/Apache2 restart

Klicken Sie hier, um diese Frage zu beantworten

19
Mathesh Raj

Alternativ können Sie den gesamten Inhalt Ihrer .htaccess-Datei ersetzen

Options +FollowSymLinks -Indexes
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

Sehen Sie die Dokumente hier. https://laravel.com/docs/5.8/installation#web-server-configuration

1
F KIng

Wenn Sie immer noch einige Abweichungen des Problems feststellen, bearbeiten Sie die .env-Datei und setzen Sie APP_URL wie folgt in Ihren Domainnamen:

 APP_URL=similar_to_my_avatar_link 
0
resizemyimg.com

In der httpd.conf-Datei müssen Sie # entfernen.

#LoadModule rewrite_module modules/mod_rewrite.so

nach dem Entfernen von # line sieht das so aus:

LoadModule rewrite_module modules/mod_rewrite.so

Und Apache neu starten

0
Masum billah

zu spät .. aber zum Vorteil Sie können Ihre .htaccess-Datei bearbeiten kommentieren Sie diese Zeile

  #  RewriteRule ^ index.php [L]
0
Ahmed khaled

Stellen Sie sicher, dass Sie mod_rewrite aktiviert haben.

restart Apache

und löschen Sie cookies Ihres Browsers erneut unter .htaccess

0
Miguel Avila R.