Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.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 如何访问Laravel直接路径_Php_Laravel - Fatal编程技术网

Php 如何访问Laravel直接路径

Php 如何访问Laravel直接路径,php,laravel,Php,Laravel,我是laravel的新手,我已经在我的linux服务器上使用composer安装了laravel,问题是我无法访问domainname.com,但domainname.com/public/然后只有我才能访问该页面。请建议我如何使用domainname.com/而不是domainname.com/public访问该网站/ 我正在共享主机中运行,因此也有多个域名和文件夹可用。您需要在Apache配置中添加: <VirtualHost *:80> ServerAdmin admi

我是laravel的新手,我已经在我的linux服务器上使用composer安装了laravel,问题是我无法访问domainname.com,但domainname.com/public/然后只有我才能访问该页面。请建议我如何使用domainname.com/而不是domainname.com/public访问该网站/

我正在共享主机中运行,因此也有多个域名和文件夹可用。

您需要在Apache配置中添加:

<VirtualHost *:80>
    ServerAdmin admin@localhost
    DocumentRoot /path/to/your/laravel/public
    ServerName your.domain.com

    <Directory /path/to/your/laravel/public>
        AllowOverride None
        Order allow,deny
        Allow from All

        Options FollowSymLinks

        RewriteEngine On

        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)$ index.php/$1 [L]
    </Directory>
</VirtualHost>

服务器管理员admin@localhost
DocumentRoot/path/to/your/laravel/public
ServerName your.domain.com
不允许超限
命令允许,拒绝
通融
选项如下符号链接
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$index.php/$1[L]
然后,您可以通过以下方式访问您的Laravel网站:

首先,确保已启用“重写”模块。在您的情况下,共享主机提供商通常会为您启用它

其次,使用此内容在主文件夹中创建一个
.htaccess
文件(该文件夹包含
artisan
文件)

<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
</IfModule>
# For all files not found in the file system, reroute the request to the
# "index.php" front controller, keeping the query string intact
<IfModule mod_rewrite.c>
RewriteCond $1 !^(public)
RewriteRule ^(.*)$ /public/$1 [L]
</IfModule>

选项+FollowSymLinks
重新启动发动机
#对于文件系统中未找到的所有文件,请将请求重新路由到
#“index.php”前端控制器,保持查询字符串完整
1美元^(公众)
重写规则^(.*)$/public/$1[L]

我猜您没有直接访问您的机器的权限?(通过ssh)@lukasgeiter:是的,我有ssh权限。然后,您可以创建/编辑虚拟主机(请参阅Gmartines答案),也可以在httpd.conf文件中更改文档根目录。这有点取决于你的设置。在你的apache2目录中(通常位于/etc/apache2),你有“站点可用”文件夹吗?里面有文件吗?(可能是您的域名作为文件名)谢谢,这帮助我解决了问题:-)希望这可能不适合共享主机。