2015-05-07 69 views
1

我有一個Laravel項目Laravel的.htaccess重寫URL去除公共

我的域名domain.com.tw

和URL將domain.com.tw/public

並且可以顯示頁面。

我想刪除URL的public

所以我寫RewriteRule.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> 

但它並沒有爲我工作 我看這些還可以,但還是失敗了

Apache Mod Rewrite For Laravel

Laravel 4.2 rewrite URL - remove public

有人能告訴我解決方案嗎?謝謝!!

+0

你正在使用laravel 4或5如果你可以將公共目錄外的公共目錄中的.htaccess文件移動到根文件夾,然後將根文件夾中的server.php文件重命名爲index.php – xenish

+0

您好,我爲這個項目使用Laravel 4.2,所以.htaccess已經在根文件夾之外,是否還需要將server.php重命名爲index.php? –

+0

在L5它是如此試試L4 – xenish

回答

0

在根上創建一個名爲「whatever」的文件夾(您可以指定任何名稱)。 移除「whatever」文件夾中除public文件夾外的所有文件。 將公開的所有文件移動到根目錄並刪除空白公用文件夾。 這樣的目錄結構將是:

  1. whatever-裏面有所有的根文件除了公用文件夾
  2. 公共文件夾中的所有文件。

現在時間來改變在paths.php一些路徑 更改下面的代碼 'public' => __DIR__.'/../public',進'public' => __DIR__.'/../../'

開放的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'; 

希望這有助於或至少給你一些想法

+0

喲謝謝你,最後這個解決方案是通過改變'path.php'和'index.php '。 –

+0

很高興這對你有幫助@JasperChang – xenish