在此服务器上找不到请求的URL/ProjectName/users.Laravel

Lui*_*yfe 5 php laravel

我正在关注laravel的快速启动,它说"type /users"但不适合我.我在浏览器中写道,http://DomainServer/ProjectName/users它抛出:

在此服务器上找不到请求的URL/ProjectName/users.Laravel

我试过以下,

启用apache模块mod_rewrite也不起作用.

小智 41

Linux环境中Apache Web Server和Laravel的步骤.

  1. 打开httpd.conf

    sudo vim /etc/httpd/conf/httpd.conf
    # for debian users: /etc/apache2/apache2.conf
    
    Run Code Online (Sandbox Code Playgroud)
  2. 确保DocumentRoot指向laravel项目的公共目录

  3. 添加该路径的Directory元素和Allowoverride All ...,如下所示

    DocumentRoot "/var/www/html/laravel/public/"
    
    <Directory "/var/www/html/laravel/public">
    Allowoverride All
    </Directory>
    
    Run Code Online (Sandbox Code Playgroud)
  4. 从../laravel/public/打开.htaccess并确保它具有以下内容

    <IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
    Options -MultiViews
    </IfModule>
    
    RewriteEngine On
    
    # Redirect Trailing Slashes...
    RewriteRule ^(.*)/$ /$1 [L,R=301]
    
    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    </IfModule>
    
    Run Code Online (Sandbox Code Playgroud)
  5. 重启httpd服务

    sudo service httpd restart
    
    Run Code Online (Sandbox Code Playgroud)
  6. 现在http://DomainServer/users可以在您的浏览器中使用.

  • 在Debian上,`httpd.conf`文件是`/ etc/apache2/apache2.conf`; 否则这些说明都是现货! (2认同)

was*_*all 5

找到 httpd.conf 并将<Directory>元素从

<Directory "/var/www/html/">
Allowoverride None
</Directory>
Run Code Online (Sandbox Code Playgroud)

<Directory "/var/www/html/">
Allowoverride All
</Directory>
Run Code Online (Sandbox Code Playgroud)

然后它在重新启动 apache 后工作而不更改DocumentRoot.