Laravel總結一:
路徑重寫引擎
在安裝完Laravel之後,運行初始界面的時候,出現下面這圖時
可能大家會發現一個問題,在瀏覽器的URL框中,爲localhost/index.php/about
按照一般思路,這個index.php是不應該出現該URL中的,不符合一般的邏輯
這裏給大家解釋一下。
在Laravel中,處理請求的第一個步驟就是,web server服務器首先將請求直接發送給public文件夾下的index.php頁面,由該文件進行處理請求,所以Laravel的默認URL的路徑是這樣子的。那麼問題來了,我們如何將它修改成我們邏輯大腦所能接受的呢?
這就使用到路徑重寫引擎(步驟如下)
Step 1.將httpd.conf配置文件中的將C:\Apache24\htdocs\laravel4\public 作爲網站的根路徑
(這裏我的appache的路徑爲C:\Apache24大家根據實際情況進行替換)
確保網站根目錄下包含.htaccess文件,而該文件默認存放在Laravel文件夾下的public路徑下
DocumentRoot "${SRVROOT}/htdocs/pure/public"
<Directory "${SRVROOT}/htdocs/pure/public">
Step 2.修改該文件.htaccess
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
#Options -MultiViews
Options +FollowSymLinks
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Step 3.繼續修改httpd.conf文件,將原先的none改成all
<span style="font-size:12px;">Line 229
<Directory />
AllowOverride <strong style="background-color: rgb(255, 255, 0);">all</strong>
Require all denied
</Directory>
Line 266
AllowOverride <strong style="background-color: rgb(255, 255, 0);">all</strong>
Line 378
<Directory "${SRVROOT}/cgi-bin">
AllowOverride <strong style="background-color: rgb(255, 255, 0);">all</strong>
Options None
Require all granted
</Directory></span><strong style="font-size: 14pt;">
</strong>
Step 4.修改httpd.conf文件的第157行
將LoadModule rewrite_modulemodules/mod_rewrite.so這句話前的#去掉,表示啓動重寫模塊!!重要!
生成項目KEY
在項目編寫的初期,首個問題就是如何生成KEY。
打開cmd命令行。輸入以下命令
phpartisan key:generate
另外,該命令必須在項目的根目錄(項目的根目錄在我的例子中爲C:\Apache24\htdocs\laravel4,與網站根目錄進行區別)下進行鍵入
這裏偷偷告訴大家,可以直接在窗口模式的目錄下,按住SHIRT+鼠標右擊,選擇在此處打開cmd就可以直接打開。不用cd xxx一大串的路徑了。