从URL Laravel 5.3中删除public

时间:2016-10-18 04:48:18

标签: php laravel

我正在使用Laravel 5.3是否有一种从URL中删除公共的简单方法?是否有必要添加一个htacces。当我改变htacces时,它会得到如下所示的n错误,

enter image description here

8 个答案:

答案 0 :(得分:3)

将htaccess和index.php文件从公共文件夹复制到根目录,然后更改root index.php代码,如下所示

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

答案 1 :(得分:3)

  

安装Laravel后,您应将Web服务器的文档/ Web根目录配置为公共目录。此目录中的index.php用作进入应用程序的所有HTTP请求的前端控制器。

https://laravel.com/docs/5.3/installation#configuration

请勿编辑Activity或与Laravel相关的文件,只需编辑point web server to a public directory instead of Laravel project directory

RadioGroup.OnCheckedChangeListener() {
    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {
        switch(checkedId){
            case R.id.radioButtonMusicOn://For Turn On
                //Navigate from here
                break;

            case R.id.radioButtonMusicOff://For Turn Off
                //Navigate from here
                break;
        }
    }
});

然后重启Apache。

答案 2 :(得分:1)

在root中添加一个.htaccess文件,其中包含 -

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

答案 3 :(得分:1)

是的,非常简单,无需添加额外的htaccess,

  1. 在laravel项目文件夹中创建一个新文件夹。
  2. 任意你喜欢的名字。示例: - source
  3. enter image description here

    1. 将所有文件从root移动到' source'文件夹除了' public'文件夹中。
    2. enter image description here

      4。将所有文件从公用文件夹移动到root。

      enter image description here

      5。更改autoload.php路径

      6。就这样。如有必要,请删除公用文件夹。

      enter image description here

答案 4 :(得分:0)

  

在根目录中创建一个.htaccess文件,并将以下内容放入   它

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

答案 5 :(得分:0)

laravel的网址中没有公开 您正在强迫laravel操纵其结构。 要摆脱进一步的问题,一个很好的建议是,不要在根目录中使用xampp作为默认服务器运行命令。

php artisan serve

然后点击     http://localhost:8000

答案 6 :(得分:0)

即使以上解决方案都可以为您工作,但我建议您不要这样做。 这就是原因。
-您应该将Apache主机根目录指向$ LARAVEL_PATH / public目录,而不是$ LARAVEL_PATH。
-您必须为用户无法访问.env,git文件,配置文件夹的文件配置apache
公用目录的存在是为了使项目更安全。解决实际问题,不要试图破坏这个简单但不错的安全性补充。

答案 7 :(得分:-1)

将所有文件和文件夹从公用文件夹复制到根文件夹,然后将.htaccess文件编辑为

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

并且不要忘记更改index.php文件中的路径。 有关详细信息,请参阅以下链接

Installing Laravel in a subfolder

https://ellislab.com/forums/archive/viewthread/151342/#734511