如何解决从Lavarel应用程序中的网址中删除public / index.php
我在本地PC上使用Apache2在Ubuntu 18.04LTS上创建了我的第一个Laravel应用程序(使用Lavarel 7.x)。
遵循Lavarel Docs的安装说明,一切顺利。
网址是一个问题:
http://localhost/lavarel-project1/ - returns the directory listing
apache2虚拟主机文件如下所示:
<VirtualHost *:80>
DocumentRoot /var/www/html/lavarel-project1/public
<Directory /var/www/html/lavarel-project1/public>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
从对Web的研究开始-文章提到从Lavarel App根目录复制server.php文件并将其重命名为index.php。 这可行,但随后在应用程序中创建了路由,并在url中发现了其他问题:
http://localhost/lavarel-project1/ - works
http://localhost/lavarel-project1/catlog/ - doesn't work
http://localhost/lavarel-project1/public/index.php/catlog - works
这是公用文件夹中.htaccess文件的内容:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
在网络上研究了此问题-如何从网址中删除public / index.php,但收效甚微-建议的所有方法均无效,因此请在此处提出问题。
/>,谢谢。
解决方法
我认为您不应在目录标签中添加“ / public”。
尝试一下:
`
<Directory /var/www/html/lavarel-project1>
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
`
这是我的配置,工作正常。
, <VirtualHost *:80>
ServerName laravel.dev
ServerAlias www.laravel.dev
DocumentRoot /var/www/html/lavarel-project1/public
<Directory /var/www/html/lavarel-project1/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
LogLevel debug
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。