nginx配置url重寫與apache配置url重寫

apache配置url重寫
LoadModule rewrite_module modules/mod_rewrite.so將前面的註釋去掉
修改httpd.conf, 把AllowOverride none改爲Allowoverride FileInfo或者Allowoverride All, 使Apache能夠讀取.htaccess的內容(注意要改動配置文件的全部Allowoverride: 我的需要改動三處才能生效)
在項目根目錄下添加.htaccess文件, 文件內容爲:3. 在項目根目錄下添加.htaccess文件, 文件內容爲:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]

重啓Apache

實際上apache配置url重寫與htaccess文件相關聯,其運行基本就是靠htaccess文件進行關鍵和重寫的。我不建議各位使用apache了,實際上apache在運行效率上和nginx還是差的太遠了,可能在你們測試或者小項目的時候沒有什麼感覺,但是真的到大項目就會有明顯的性能區別。

nginx配置url重寫
網上在各種說

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

添加這條記錄就可以滿足url重寫功能,實際上我們在用的時候根本就不會理解爲什麼這麼用,以至於我們配置了還發現用不了,首先,我們來說一下try_files 這個實際上我們可以把他理解爲一個系統內部重定向,
我們再來理解一下

$uri  $request_uri 和$query_string 不明白不要緊,

$uri指的是請求的文件和路徑,不包括“?”或者“#”之後的東西,$request_uri則是請求的整個字符串,包含了後面的$query_string的。這樣說你就可能明白了,這樣,我們立馬就明白了爲什麼這麼配置不行,實際上,我們只需要加一條這樣的配置就可以了

    try_files $request_uri /index.php/$request_uri;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章