Yii2 Apache Nginx 路由重寫

2022-07-15 05:48:11 字數 1643 閱讀 3760

一、什麼是路由重寫

重寫後的http訪問位址 www.test.com/post/view/id/100  這樣的鏈結看起來簡潔美觀,對於使用者比較友好。同時,也比較適合搜尋引擎的胃口, 據說是seo的手段之一。

二、apache 路由重寫

(一)開啟apache的重寫模組

1. 開啟apache的config的 hhttpd.conf 將 #loadmodule rewrite_module modules/mod_rewrite.so  的#號去掉

2. 重啟apache伺服器即可

(二)虛擬主機配置

1. 開啟 apache\conf\vhosts.conf配置路徑

2. 將配置修改為如下:

127.0.0.1:80>servername test-yii2.com

documentroot f:/wamp64/www/yii2/frontend/web

"f:/wamp64/www/yii2/frontend/web">

options +indexes +includes +followsymlinks +multiviews

allowoverride all

require all granted

rewriteengine on

# 如果請求的是真實存在的檔案或目錄,直接訪問

rewritecond % !-f

rewritecond % !-d

# 如果請求的不是真實檔案或目錄,分發請求至 index.php

rewriterule . index.php

3. 重啟apache

(三)還有另外一種配置方式,無需重啟apache伺服器,當時改當時生效。

1. 在 「f:/wamp64/www/yii2/frontend/web」  目錄下增加 .htaccess **如下:    

rewriteengine on

# 如果請求的是真實存在的檔案或目錄,直接訪問

rewritecond % !-f

rewritecond % !-d

# 如果請求的不是真實檔案或目錄,分發請求至 index.php

rewriterule . index.php

(四) yii配置

1. 在main.php下components這個陣列中增加如下如下配置:

'urlmanager' =>[

'enableprettyurl' => true, //

開啟美化url配置,預設關閉

'enablestrictparsing' => false, //

不啟用嚴格解析,預設不啟用.如果設定為true,則必須建立rules規則,且路徑必須符合一條以上規則才允許訪問

'showscriptname' => false, //

隱藏index.php

'rules' =>[

// 重寫為

'/'=>'/index',

///view?id=1 重寫為 /1

'/' => '/view',

///ceshi?id=123 重寫為 /ceshi/123

'//' => '/',]

],

Yii2 配置yii2 redis擴充套件

前提 已經安裝redis。一 包檔案安裝 yiisoft yii2 redis extentions.php然後配置vender yiisoft extensions.php檔案 yiisoft yii2 redis array name yiisoft yii2 redis version 2.0...

Yii2 配置yii2 redis擴充套件

前提 已經安裝redis。一 包檔案安裝 yiisoft yii2 redis extentions.php 然後配置vender yiisoft extensions.php檔案 yiisoft yii2 redis array name yiisoft yii2 redis version 2....

yii2擴充套件yii2 imagine遇到的問題

最近在使用yii2移植 時,在縮圖那裡卡了兩天,幾乎搞得想崩潰,但經過我不屈不撓的努力,終於成功搞定!剛開始一直按照網上的教程,在cmd使用命令列安裝,php composer.phar require prefer dist yiisoft yii2 imagine ps 附上該方法教程 但是一直...