【问题标题】:Peroblem with laarvel project deployment to cpanellaravel项目部署到cpanel的问题
【发布时间】:2021-03-05 15:46:24
【问题描述】:

希望你们一切都好,我在 Cpanel 上部署我的 laravel 项目时遇到了问题。当我点击我的路由 URL 或根 URL 时,它会显示“404 not found”

这是根网址:https://laravel.tamimikbal.com/project1/

我已经在我的根 .htaccess 文件中编写了这段代码

RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]

这是 public/.htaccess 文件

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

【问题讨论】:

    标签: laravel .htaccess laravel-8


    【解决方案1】:

    .htaccess 未正确重定向到 public 目录。我可以使用“https://laravel.tamimikbal.com/project1/public/”访问和浏览您的网站。

    试试这个作为你根目录下.htaccess文件的内容:

    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteRule ^(.*)$ public/$1 [L]
    </IfModule>
    

    【讨论】:

    • 对不起先生,它不工作,你能给我另一个解决方案吗,拜托
    【解决方案2】:

    如果你把路由 url 应该是什么样子的,我可以更好地理解 无论如何你可以试试这个代码:

        RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteBase /
    

    虽然您没有在您的域上激活 www.https,但您可以使用此代码进行从 www.none www 和从 httphttps 的重定向

        RewriteCond %{HTTPS} off [OR]
    RewriteCond %{HTTP_HOST} ^www\. [NC]
    RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
    RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]
    

    你可以使用这段代码的路由请求和文件目录

        RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css|webp|JP2)
    RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
    

    如果您想将系统文件重定向到404 page,请编辑此代码并替换您的系统文件夹和404 路由页面

    RewriteRule ^system/(.*) index.php?route=your 404 page [L]
    

    【讨论】:

    • 这是根 URL:当有人点击此 URL 时,我想显示主页。但是现在我必须在主页输入这个laravel.tamimikbal.com/project1/public,但是我和这个laravel.tamimikbal.com/project1
    • 试试这个:#RewriteRule ^project1/public$ project1 [L]
    • 对不起先生,它不起作用,请您给我另一个解决方案
    • 好的,我已经在我的 cpanel 上测试了以下代码,它没有任何错误,只需更改您的域和您的根文件夹,请告诉我它是否成功
    • RewriteEngine on RewriteCond %{HTTP_HOST} ^yourdomain.com$ [NC,OR] RewriteCond %{HTTP_HOST} ^www.yourdomain.com$ RewriteCond %{REQUEST_URI} !folder/ RewriteRule (.*) /文件夹/$1 [L]
    猜你喜欢
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 2019-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多