duanpei8853 2015-05-07 06:39
浏览 181
已采纳

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

I have a Laravel project

My domain is domain.com.tw

and the URL will be domain.com.tw/public,

and the page could be showed.

I want to remove the public in URL,

so I write RewriteRule in .htaccess with:

<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>

but it did not work for me I had look at these also, but still failed

Apache Mod Rewrite For Laravel

Laravel 4.2 rewrite URL - remove public

could someone tell me the solution? thanks!!

  • 写回答

1条回答 默认 最新

  • dsf45346 2015-05-07 07:23
    关注

    Create a folder on root with named “whatever”(you can give any name). Move all files except public folder in the “whatever” folder. Move all the files of public to root directory and remove blank public folder. so directory structure will be:

    1. whatever– which have all root files except public folder
    2. all files of public folder.

    Now time to change some paths in paths.php change the following code 'public' => __DIR__.'/../public', into 'public' => __DIR__.'/../../',

    open index.php (on root) and find below code

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

    change this to

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

    Hope this helps or at least give you some idea

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?