pan*_*hro 34 laravel laravel-4
我的laravel安装昨天工作正常,但今天我收到以下错误:
Forbidden
You don't have permission to access / on this server.
Additionally, a 403 Forbidden error was encountered while trying to use an ErrorDocument to handle the request.
Run Code Online (Sandbox Code Playgroud)
有谁知道我哪里出错了?
Ale*_*xey 47
在laravel安装文件夹中创建并放置此.htaccess文件.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
Ali*_*Ali 27
对我来说,这只是因为我的public_html 中有一个与该路由名称相同的文件夹!
所以请检查您是否没有包含该路线地址的文件夹!
希望有帮助
小智 19
我遇到了同样的问题,然后我和@lubat的解决方案一样,我的项目工作得很好.:D我的虚拟主机配置:
<VirtualHost *:80>
ServerName laravelht.vn
DocumentRoot D:/Lavarel/HTPortal/public
SetEnv APPLICATION_ENV "development"
<Directory D:/Lavarel/HTPortal/public>
DirectoryIndex index.php
AllowOverride All
Require all granted
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
lub*_*art 13
检查虚拟主机配置.对于Ubuntu,你可以在/etc/apache2/sites-available/yourlaravel.conf找到它应该是这样的:
<VirtualHost *:80>
ServerName yourlaravel.com
DocumentRoot "/path/to/your/laravel/project/public"
ServerAlias *.yourlaravel.com
<Directory "/path/to/your/laravel/project/public">
AllowOverride All
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
关键线在Require all granted里面<Directory>.
希望能帮助到你!
Moh*_*nju 12
您是否尝试更改laravel建议的.htaccess文件,如果默认值不起作用?我遇到了类似的问题并将其更改为
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Run Code Online (Sandbox Code Playgroud)
并且它结果:)
Rad*_*dez 10
只需.htaccess使用以下代码在根项目路径中添加一个文件即可重定向到公共文件夹:
.HTACCESS
## Redirect to public folder
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
非常简单,但在我的服务器中为我工作。
问候!
对于那些使用Mamp或Mamp pro的人:
Open MAMP Pro
Click on “Hosts”
Click on “Extended” (UPDATE: Only if you are using MAMP Pro 3.0.6)
Check “Indexes”
Click “Save”
That’s it! Reload your localhost starting page and it should work properly.
Run Code Online (Sandbox Code Playgroud)
Laravel默认的public / .htaccess文件为我解决了这一问题,增加了额外的一行:
该/public/.htaccess文件仍然如下:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
DirectoryIndex index.php # This line does the trick
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
首先,更新您的虚拟主机配置;
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/html/example-project/public
<Directory /var/www/html/example-project/public/>
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然后,更改资产的权限和所有权,如下所示。
$ sudo chgrp -R www-data /var/www/html/example-project
$ sudo chmod -R 775 /var/www/html/example-project
Run Code Online (Sandbox Code Playgroud)
对于我来说,问题似乎出在public_html文件夹中没有index.php文件这一事实。但是,当我输入以下地址时:http : //azxcvfj.org/public,它起作用了(此地址只是一个示例。它指向无处)。这使我开始思考,最终我通过执行以下操作解决了该问题。
我在应用程序的根文件夹(public_html文件夹)中制作了一个.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 ^ public/index.php [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)
这行得通。使用此文件,您基本上是对服务器(Apache)说,只要有人尝试访问公共html文件夹(http://azxcvfj.org),就会将要重定向的某人重定向到http://azxcvfj.org/ public / index.php
小智 5
在您的VirtualHost中,编写DocumentRoot以指向主目录中的Laravel应用程序。另外,您必须添加下面显示的目录以及自己的路径:
<Directory /home/john/Laravel_Projects/links/public/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
第二步,您必须转到Laravel项目并运行以下命令。
sudo chmod -R 777 storage bootstrap/cache
Run Code Online (Sandbox Code Playgroud)
最后,重新启动apache2:
sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)
Gad*_*oma -2
您可能面临文件权限问题。验证您的 htacces 文件,与昨天相比有变化吗?另外,如果您正在进行任何“作曲家更新”或“工匠优化”的工作,请尝试根据您的用户名 chowning 您的 laravel 项目文件夹。
chown -R yourusername yourlaravelappfolder
Run Code Online (Sandbox Code Playgroud)
编辑:问题可能是由于您有关 Vagrant 的本地文件权限所致。尝试
set the permissions to the Vagrantfile containing folder to 777
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
139661 次 |
| 最近记录: |