bcr*_*ins 0 php apache laravel
我继承了一个在我无法访问的Apache服务器上运行的php / Laravel应用程序。我的任务是让它在另一台Apache服务器上运行。我对php相当满意,但对Laravel而言相对较新,对Apache配置而言则相对较新。
我已经弄清楚了如何使Laravel应用程序在运行于Ubuntu VM(VirtualBox)的Apache上运行。我可以通过http:// localhost在Ubuntu VM的浏览器中访问Laravel应用程序。我还可以通过http://appname.com/public从Internet在浏览器中访问Laravel应用。但是,如果我只是使用http://appname.com,那么我只会得到/ var / www / appname的文件夹列表。
我已经尝试对/etc/apache2/available-sites/appname.conf文件进行了一些修改,但显然还没有完全正确。我还阅读了许多有关修改其他各种配置文件(包括php配置文件和Apache配置文件)的文章。似乎这些其他mod(虽然它们可能是可行的)不是必需的。
这是我当前的/etc/apache2/available-sites/appname.conf
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName appname.com
ServiceAlias www.appname.com
DocumentRoot /var/www/appname/public
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
任何建议表示赞赏。
您需要在Apache服务器中允许mod_rewrite和allowSymLinks。 资源
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName appname.com
ServiceAlias www.appname.com
DocumentRoot /var/www/appname/public
<Directory "/var/www/appname/public">
Options FollowSymLinks
ReWriteEngine On
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
在DocumentRoot目录中,我还将允许MultiViews
<Directory "/var/www/appname/public">
Options FollowSymLinks MultiViews
ReWriteEngine On
</Directory>
Run Code Online (Sandbox Code Playgroud)
您可能还需要做
sudo a2enmod重写
启用模块重写。
编辑1:
在我的.conf文件中,我给它们加上了引号,并且它们正在工作。您是否启用了模式重写?
除了一些选项,我还有下一个配置的“ /”文件夹。
<Directory "/">
Options FollowSymLinks
AllowOverride All
ReWriteEngine On
</Directory>
Run Code Online (Sandbox Code Playgroud)
在这里,我将写我的公共目录的完整代码
<Directory "/var/www/appname/public">
Options FollowSymLinks MultiViews
Order Allow,Deny
Allow from all
ReWriteEngine On
</Directory>
Run Code Online (Sandbox Code Playgroud)
在删除您不喜欢使用的选项之后,尝试一下并查看它是否有效。
| 归档时间: |
|
| 查看次数: |
14582 次 |
| 最近记录: |