当前位置: 首页 > 知识库问答 >
问题:

删除公共Url。htaccess laravel 5.5

祁英哲
2023-03-14

从我搜索的url中删除public/from并尝试执行以下步骤

>

  • 抄袭。htaccess from public/并将其粘贴到root/
  • 更改服务器。php来索引。php

    我试着补充一下

    RewriteRule上的RewriteEngine^(.*)$public/$1[L]

    我的 /.htaccess删除网址公共它没有工作。

    但是,如果我删除了这一行它的工作,但我所有的Url链接到css它的错误路径

    NOTE :: I PUT all my Css into public/assets if I move folder assets  to my / It work but is their anyway If I dont want to move my floder assets
    

    更新. htaccess

    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews
        </IfModule>
    
        RewriteEngine On
    
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule ^(.*)/$ /$1 [L,R=301]
    
        RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_URI} !^/public/
        RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC]
    
    
        # 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>
    
  • 共有1个答案

    仲孙疏珂
    2023-03-14

    您可以通过两种可能的方式来实现:

    (1) 重命名服务器。要索引的Laravel根文件夹中的php。php复制。htaccess文件从/public目录访问到您的Laravel根文件夹。对于静态文件,您可以更改htaccess文件

    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]
    
    RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png|\.jpg|\.gif|robots\.txt)$ [NC]
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
    
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !^/public/
    RewriteRule ^(css|js|images)/(.*)$ public/$1/$2 [L,NC]
    

    (2) 无需对htaccess执行任何操作。

    1) copy index.php in public folder. remove/rename index.php in public.
    
    2) paste in root folder of the project
    
    3) Now open index.php and change 2 url paths like below. 
       require __DIR__.'/vendor/autoload.php';
       $app = require_once __DIR__.'/bootstrap/app.php';
    

    就这些:)

    通过这种方式,您需要通过在这些路径中添加 /public/来更改js和css文件路径。

     类似资料:
    • 这是我的Laravel 5.2文件夹结构 在Laravel的根文件夹laravel下,我添加了一个带有以下代码的文件: 现在,当我在浏览器中打开project时,会出现以下错误: 对不起,找不到您要找的页面。"在RouteCollection.php行161中的NotFoundHttp异常:" 我正在使用XAMPP。为什么我会犯这个错误?如何使用此方法从URL中删除public?

    • 我用这个将所有内容都指向/public文件夹。htaccess。 这很好,我可以在没有/public的情况下加载/administration路径,但问题是,我也可以像这样加载/public/administration。

    • 我的图像在锚文本中工作正常。但是当我从URL中删除公共时(通过将. htaccess放在根目录中)图像路径不工作。 此admin_images文件夹位于公用文件夹中。

    • 许多人认为,下面的htaccess可以从url中删除“public”。但我正在研究WAMP,但这不起作用: 重新启动发动机 这显示了来自Laravel框架的以下错误消息: 很抱歉,找不到您要查找的页面。1/1在RouteCollection中找不到HttpException。php第161行: 还有其他方法可以从url中删除“public”,但我想了解为什么这种方法在我这方面不起作用,因为人们在他

    • 我有一个亚马逊S3桶,我公开了这样的政策 我的水桶现在显示为http://bucket.s3-website-us-east-1.amazonaws.com/ 我看到其他人把他们的水桶称为http://s3-us-east-1.amazonaws.com/bucket/ 我更喜欢第二个URL,但它给出了拒绝访问。 如何更改策略以允许第二个URL?

    • 嗨,我正在使用svg绘制线条,但我的问题是,我正在使用公共URL绘制线条`varsvgnode=document.createElementNs('http://www.w3.org/2000/svg','svg'); 如何在不使用公共URL的情况下实现相同的功能