php - laravel教學 - nginx apache laravel




Apache Mod重寫Laravel (4)

我在Wampserver上安裝了Laravel。 目錄如下:

C:\ WAMP \ WWW \ laravel

現在URL是這樣的:

http://localhost/laravel/public/index.php/home/index

所以我使用了以下htaccess代碼

Options +FollowSymLinks
Options -indexes
DirectoryIndex index.PHP
RewriteEngine on
RewriteCond $1 !^(index\.PHP|images|robots.txt)
RewriteCond %{REQUEST_ FILENAME} !-f
RewriteCond %{REQUEST_ FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L, QSA]

減少網址到

http://localhost/laravel/public/home/index

但是laravel框架堅持所有應用程序文件駐留在公用文件夾中。

所以我想知道我需要添加到(或從中減去)htaccess文件,使URL可以看起來像

http://localhost/laravel/home/index

謝謝


你會得到你的代碼和公共文件夾在同一地方,這是大多數人不建議。 我建議你利用使用本地Web服務器。

為什麼不把mysite.dev指向laravel/public目錄,所以你可以每次使用http://mysite.dev ,你也有更laravel/public URL呢?


作為WAMP和Laravel的一個新手,我掙扎了一下,但是在我的WIN7PRO 64位機器上,卻得到了虛擬主機的東西。 在文件末尾的WAMPSERVER / Apache / hppd.conf中,我添加了:

NameVirtualHost *:80

<VirtualHost *:80>
 DocumentRoot C:/webapp/public
 ServerName webapp
 <Directory C:/webapp/public >
   Options Indexes FollowSymLinks MultiViews
   AllowOverride all
   Order Deny,Allow
   Allow from All
 </Directory> 
</VirtualHost> 

<VirtualHost *:80>
 DocumentRoot C:/wamp/www
 ServerName localhost
</VirtualHost> 

我補充說:

127.0.0.1 webapp

到主機文件。 (我從來沒有成功編輯過虛擬主機文件,因為網絡上的許多帖子都提到過。)

這些更改允許我通過瀏覽器訪問我的Laravel測試應用程序

http://webapp
(and also, via just http://127.0.0.1)

並通過以下方式訪問我的所有其他網站:

http://localhost/devsite/whatever..

當在本地測試時,我會做兩件事情之一。

  1. 使用以下命令在公共目錄下創建一個新的.htaccess。

    <IfModule mod_rewrite.c>
        RewriteEngine on
    
        RewriteRule ^(.*)$ public/$1 [L]
    </IfModule>
  2. 創建一個新的虛擬主機。 使用WAMP,您可以導航到C:\wamp\bin\apache\YOUR APACHE VERSION\conf\extra並找到您的httpd-vhosts.conf文件,在那裡您可以看到示例虛擬主機。 這是我的一個:

    <VirtualHost *:80>
        DocumentRoot "c:/wamp/www/laravel/public"
        ServerName laravel.dev
        ServerAlias www.laravel.dev
    </VirtualHost>

    確保您的虛擬主機配置文件正在被包括在內。 打開你的httpd.conf文件並蒐索vhosts文件,取消註釋包含行,如果它被註釋掉。 然後我打開CLI並輸入notepad "C:\windows\system32\drivers\etc\hosts"打開你的主機文件。 在提到localhost的項下面放置你的新主機。 這是一個例子。

    127.0.0.1  laravel.dev

    確保你重新啟動Apache和賓果遊戲,你應該能夠導航到http://laravel.dev ,你將不會有任何惱人的公共目錄。 這是我如何實現它,因為我更喜歡更好看的虛擬主機,而不是一個漫長的localhost URL。

希望這可以幫助。


我在本地開發環境中工作的最簡單的方法是執行以下操作:

(假設你已經在C:\ WAMP中安裝了WAMP)

創建以下文件夾:

c:\wamp\www\laravel

下載laravel並把內容放到上面的目錄中。 如果你可以瀏覽到hxxp:// localhost / laravel / public並且獲得開始屏幕,你就會知道你做得對。 但是,這還不夠好。 我們想通過轉到http://localhost/laravel來獲得該屏幕

那麼我們做以下幾點:

創建一個包含以下內容的文本文件:

Alias /laravel "c:/wamp/www/laravel/public" 

<Directory "c:/wamp/www/laravel/public">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Allow from all
</Directory>

將該文件保存為c:\ wamp \ alias目錄中的laravel.conf

最後,重新啟動你的wampserver。

你現在應該可以瀏覽到http://localhost/laravel

請注意,以上內容嚴格適用於本地開發環境。





laravel