Laravel 7.x-如何删除';公共';从URL?

Laravel 7.x-如何删除';公共';从URL?,laravel,routes,laravel-7,Laravel,Routes,Laravel 7,很长一段时间都在坚持这一点。我发现了类似的问题,但没有一个答案对我有用! 根文件夹中的.htaccess如下所示: RewriteEngine On RewriteCond %{REQUEST_URI} !^/public/ RewriteRule ^(.*)$ /public/$1 [L,QSA] 示例位于/public目录中。您还需要正确配置您的服务器,并让它只查看/public目录而不是根目录。根目录中不需要.htaccess文件 您将需要一个httpd-vhosts.conf,其中

很长一段时间都在坚持这一点。我发现了类似的问题,但没有一个答案对我有用! 根文件夹中的.htaccess如下所示:

RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/public/ 
RewriteRule ^(.*)$ /public/$1 [L,QSA]
示例位于/public目录中。您还需要正确配置您的服务器,并让它只查看/public目录而不是根目录。根目录中不需要.htaccess文件

您将需要一个httpd-vhosts.conf,其中包含以下内容:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName yourapp.com
    ServiceAlias www.yourapp.com
    DocumentRoot /var/www/yourapp/public
</VirtualHost>

您可以阅读有关Laravel Web服务器配置的更多信息

在根目录中创建名为“.htaccess”的文件并添加以下代码。就这样

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]

RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1 

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php

为什么不使用默认的Laravel htaccess文件?@KarlHill我尝试了默认文件,但仍然无效!我也必须更改公用文件夹中的htaccess文件吗?
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]

RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1 

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php