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

如何删除URL生成的Laravel中的“public/index.php”?

娄建义
2023-03-14

我需要删除index.php公共/index.php从Laravel中生成的URL;通常路径是localhost/public/index.php/someWordForRoute,它应该是类似于localhost/someWordForRoute.

.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 ^ index.php[L]

app/config/app。php

'url' => 'http://localhost',

我怎样才能改变这一点?

共有3个答案

公沈义
2023-03-14

不要与我正在使用的下面的代码片段中的其他选项混淆,这对你也很有用。在你的根目录中加入以下内容。

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

转到公共目录并放置另一个htaccess文件,其中包含下面的代码段

<IfModule mod_rewrite.c>
    RewriteEngine On
    # Removes index.php from ExpressionEngine URLs  
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?url=$1 [PT,L]

</IfModule>

它的工作!!!

拉威尔在下面使用。htaccess

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

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
艾哲
2023-03-14

我在Laravel 4.2上试过这个

将Laravel根文件夹中的server.php重命名为index.php,并将. htaccess文件从/Public目录复制到Laravel根文件夹。

我希望它能起作用

司徒池暝
2023-03-14

如果还没有,请创建一个。Laravel根目录中的htaccess文件。创建一个。htaccess如果Laravel根目录不存在,请将其归档。(通常它位于您的public\u html文件夹下)

编辑。htaccess文件,使其包含以下代码:

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

现在你应该可以不用“/公共/index.php/”部分访问网站了。

在根目录中创建一个新文件夹,并移动除公用文件夹外的所有文件和文件夹。你可以随便叫它什么。我将使用“laravel_代码”。

之后,我们所要做的就是编辑laravel\u代码/引导/路径中的位置。php文件和索引。php文件。

laravel_code/bootstrap/paths.php中找到以下代码行:

'app' => __DIR__.'/../app',
'public' => __DIR__.'/../public',

并将其更改为:

'app' => __DIR__.'/../app',
'public' => __DIR__.'/../../',

索引中。php,查找以下行:

require __DIR__.'/../bootstrap/autoload.php';     
$app = require_once __DIR__.'/../bootstrap/start.php';

并将其更改为:

require __DIR__.'/laravel_code/bootstrap/autoload.php';     
$app = require_once __DIR__.'/laravel_code/bootstrap/start.php';

来源:如何删除 /public/从URL在Laravel

 类似资料:
  • 很好的一天! 你好 目前我在laravel工作,我是新来的。我一直在寻找我的问题的解决方案,但我找不到解决方案。我laravel的工作是访问已经没有 /public在网址我修复这个通过. htaccess,但它可以访问也与 /public在网址。请看下面的链接供您参考。 https://utok.ph/ https://utok.ph/public 我的htaccess文件 重写引擎在重写规则 ^

  • 我正在共享主机服务器中使用Laravel5.2。我想从url中删除public,而不将根目录中的server.php更改为index.php,因为这样做。env和其他文件是公开可见的。我的.htaccess如下所示:

  • 很长一段时间都在坚持这一点。我发现了类似的问题,但没有一个答案对我有用。根文件夹中的htaccess如下所示:

  • 本文向大家介绍如何修改Laravel中url()函数生成URL的根地址,包括了如何修改Laravel中url()函数生成URL的根地址的使用技巧和注意事项,需要的朋友参考一下 前言 本文主要给大家介绍了修改Laravel中url()函数生成URL的根地址的相关内容,相信大家都晓得 Larevel 的一票帮助函数中有个 url(),可以通过给予的目录生成完整的 URL,是非常方便的一个函数: 但是这

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

  • 问题内容: 如何从静态页面的网址中删除? 另外,我需要将任何网址重定向到没有该网址的网址。(即到)。 问题答案: 感谢您的答复。我已经解决了我的问题。假设我的页面在下,则适用以下.htaccess 规则。