php - Laravel - 从 URL 中删除 public/index.php
问题描述
亲爱的,
我是 Laravel 的新手,正在做一个个人项目。我有一个网站(HTML/CSS),在网站内部有一个菜单,以便开始使用 Web 应用程序(Laravel 5.5 和 php7.1)。
我将我的代码上传到服务器(ubuntu 16.04 Droplet),但如果不放 public/index.php,我就无法访问该网站
例如,我正在使用警卫(管理员和用户),所以为了去管理页面:www.mydomain/admin
和用户www.mydomain/user
。
但我无法访问这个
(500 错误)当我把 www.mydomain/public/index.php/admin 它工作,甚至 www.mydomain/public/admin 不工作。
公共/.htaccess:
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]
default-ssl.conf(使用密钥和 https)
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin info@ecollectionz.com
ServerName ecollectionz.com
ServerAlias www.ecollectionz.com
DocumentRoot /var/www/html
SSLCertificateFile /etc/ssl/private/ef125a55e77fd883.crt
SSLCertificateKeyFile /etc/ssl/private/private-key.key
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
...
请注意,我在同一个域上使用网站和网络应用程序,所以索引主页(/var/www/html)是用于网站的。有什么解决方案吗?
解决方案
是的,将此代码用于您的 .htaccess https://laravel.com/docs/5.8/installation#web-server-configuration还确保在您的 apache 中启用 mod_rewrite 模块
推荐阅读
- design-patterns - 将多个顺序功能作为一个工作单元执行并支持回滚的设计模式
- python - 如何生成 xlsx 文件并在 Python-Django 中自动下载
- java - 如何在 Kotlin 中再次单击时关闭 onclicklistener 的更改?
- r - 如何解决由于内存耗尽而发生的错误?
- react-native - 获取 react-native-maps 中标记点的标题和位置
- android - 访问被拒绝查找属性“ro.vendor.pref_scale_resolution”
- visual-studio-code - 如何在 Visual Studio Code 中保存批量编辑文件中的更改?
- flutter - 如何在 Flutter 中动态更新 ListView.builder()?
- forms - 完成表格数据的工具
- javascript - 如何在 Spring Boot、JavaScript、Ajax 和 MySql 中为电子商务实现多个产品过滤器?