Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.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.htaccess重写用于删除公共文件的URL_Php_.htaccess_Mod Rewrite_Url Rewriting_Public - Fatal编程技术网

Php Laravel.htaccess重写用于删除公共文件的URL

Php Laravel.htaccess重写用于删除公共文件的URL,php,.htaccess,mod-rewrite,url-rewriting,public,Php,.htaccess,Mod Rewrite,Url Rewriting,Public,我有一个拉威尔项目 我的域名是domain.com.tw URL将是domain.com.tw/public 页面可以显示出来 我想删除URL中的public 因此,我在.htaccess中编写重写规则: <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine on R

我有一个拉威尔项目

我的域名是domain.com.tw

URL将是domain.com.tw/public

页面可以显示出来

我想删除URL中的
public

因此,我在
.htaccess
中编写
重写规则

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

    RewriteEngine on
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

选项-多视图
重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.*)$public/$1[L]
但这对我不起作用 我也看过这些,但还是失败了


有人能告诉我解决办法吗?谢谢

在根目录上创建一个名为“whatever”的文件夹(您可以给出任何名称)。 移动“任意”文件夹中除公用文件夹外的所有文件。 将公用文件夹的所有文件移动到根目录,并删除空白的公用文件夹。 因此,目录结构将是:

  • 无论如何–包含除公用文件夹以外的所有根文件
  • 公用文件夹的所有文件
  • 现在是时候改变一些路径了 在path.php中更改以下代码
    'public'=>\uuuuu DIR./../public'
    ,转换为
    'public'=>\uuuuu DIR./../code>

    打开index.php(在根目录下)并找到下面的代码

    require __DIR__.'/../bootstrap/autoload.php';
    $app = require_once __DIR__.'/../bootstrap/start.php';
    
    将此更改为

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

    希望这对您有所帮助,或者至少给您一些想法

    您正在使用laravel 4或5如果5您可以将公用目录中的.htaccess文件移到根文件夹之外,然后将根文件夹中的server.php文件重命名为index.phpHi我在本项目中使用laravel 4.2,因此.htaccess已经位于根文件夹之外,是否还需要将server.php重命名为index.php?在L5中,就是这样,在L4中尝试一下,看看如何将apache配置中的文档根目录从“your/path/to/laravel”更改为“your/path/to/laravel/public”谢谢,最后,通过更改
    path.php
    index.php
    ,我终于找到了这个解决方案。很高兴它对您有所帮助@JasperChang