Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 1和1服务器上的Laravel_Php_.htaccess_Laravel_Http Status Code 403 - Fatal编程技术网

Php 1和1服务器上的Laravel

Php 1和1服务器上的Laravel,php,.htaccess,laravel,http-status-code-403,Php,.htaccess,Laravel,Http Status Code 403,我有一个1&1 WebServer unlimited,我正试图通过FTP将我的新Laravel(最新版本)项目放入该服务器的子文件夹(称为v2) 这样访问我的网站时:www.mywebsite.com/v2/我得到以下信息: 错误403-禁止 菲舍尔需要自动化。 (这是法语,意味着我们无权访问该文件) 我已尝试将v2和所有子文件夹上的文件权限更改为777,但没有任何更改 我怀疑默认的Laravel.htaccess在1&1服务器上是个问题 这是: 选项-多视图 重新启动发动机 #如果不是文件

我有一个1&1 WebServer unlimited,我正试图通过FTP将我的新Laravel(最新版本)项目放入该服务器的子文件夹(称为
v2

这样访问我的网站时:
www.mywebsite.com/v2/
我得到以下信息:

错误403-禁止

菲舍尔需要自动化。 (这是法语,意味着我们无权访问该文件)

我已尝试将
v2
和所有子文件夹上的文件权限更改为
777
,但没有任何更改

我怀疑默认的Laravel
.htaccess
在1&1服务器上是个问题

这是:


选项-多视图
重新启动发动机
#如果不是文件夹,则重定向尾部斜杠。。。
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)/$/$1[L,R=301]
#处理前控制器。。。
重写cond%{REQUEST_FILENAME}-D
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]
#句柄授权头
RewriteCond%{HTTP:Authorization}。
重写规则。*-[E=HTTP\U授权:%{HTTP:AUTHORIZATION}]

是否有人已经解决了此问题?

您应该创建virtualhost并将其指向/v2/public文件夹。例如:

<VirtualHost *:80>
  ServerName v2.mywebsite.com
  DocumentRoot "/home/path_to_your_v2_folder/public"
  <Directory "/home/path_to_your_v2_folder/public">
    AllowOverride all
  </Directory>
</VirtualHost>

ServerName v2.mywebsite.com
DocumentRoot“/home/path\u到您的\u v2\u文件夹/public”
允许超越所有
重新启动Apache后,您将能够在v2.mywebsite.com上使用Laravel

更新:

也许你有某种控制面板软件?或者1&1支持会为您添加virtualhost


此外,还有一个有点难看,但有效的解决方案。例如,如果您可以访问
userhome
(只是一个示例)目录,其中包含
public\u html
www
或网站的其他文件夹。因此,只需将您的Laravel项目安装在
userhome
目录中,并创建从Laravel的
public
目录指向
public\u html/v2/
www/v2
符号链接。如果您可以通过SFTP或SSH协议访问服务器,则可以这样做。如果您只有FTP(这在我们的时代很奇怪),您将无法创建符号链接。

很遗憾,我无法访问服务器配置,它是一个随时可用的web服务器。谢谢您的帮助Alexey。我通过将.htaccess文件(位于公用文件夹内)上的RewriteRule^index.php[L]更改为RewriteRule^/v2/public/index.php[L]使其正常工作,但问题是要访问我的网站,它需要执行以下操作:www.mywebsite.com/v2/public/,而不仅仅是:www.mywebsite.com/v2/