關於thinkphp5URL重寫

2022-03-07 22:26:17 字數 1949 閱讀 7972

可以通過url重寫隱藏應用的入口檔案

index.php

httpd.conf配置檔案中載入了mod_rewrite.so模組

allowoverride none 將none改為 all

把下面的內容儲存為.htaccess檔案放到應用入口檔案的同級目錄下

options

+followsymlinks -multiviews

rewriteengine

onrewritecond

% !-d

rewritecond

% !-f

rewriterule

^(.*)$ index.php?/$1

[qsa,pt,l]

如果你的伺服器環境支援isapi_rewrite的話,可以配置httpd.ini檔案,新增下面的內容:

rewriterule

(.*)$ /index\.php\?s=$1

[i]

在iis的高版本下面可以配置web.config,在中間新增rewrite節點:

name=

"orgpage"

stopprocessing=

"true"

>

url=

"^(.*)$"

/>

logicalgrouping=

"matchall"

>

input=""

pattern=

"^(.*)$"

/>

input=""

matchtype=

"isfile"

negate=

"true"

/>

input=""

matchtype=

"isdirectory"

negate=

"true"

/>

conditions>

type=

"rewrite"

url=

"index.php/

"/>

rule>

rules>

rewrite>

在nginx低版本中,是不支援pathinfo的,但是可以通過在nginx.conf中配置**規則實現:

location / 

}

其實內部是**到了thinkphp提供的相容url,利用這種方式,可以解決其他不支援pathinfo的web伺服器環境。

如果你的應用安裝在二級目錄,

nginx的偽靜態方法設定如下,其中youdomain

是所在的目錄名稱。

location

/youdomain/

}

原來的訪問url:

http://servername/index.php/模組/控制器/操作/

[引數名/引數值...

]

設定後,我們可以採用下面的方式訪問:

http://servername/模組/控制器/操作/

[引數名/引數值...

]

如果你沒有修改伺服器的許可權,可以在index.php入口檔案做修改,這不是正確的做法,並且不一定成功,視伺服器而定,只是在框架執行前補全$_server[『path_info』]引數

$

_server['path_info'

] = $_server

['request_uri'

];

關於URL隱藏入口檔案 ThinkPHP

通常情況下,我們如果想隱藏掉url裡面的入口檔案 預設index.php 我們通常需要進行三個步驟 1.找到我們伺服器的配置檔案,我用的是wamp,配置檔案為http.conf檔案,找到loadmodule rewrite這一行配置資訊,去掉前面的 注釋 2.對於apache伺服器,在入口檔案的同級...

3 thinkphp5 URL和路由 路由

1 url訪問 訪問helloworld 駝峰式控制器,前後單詞小寫中間以 下連線 echo yeguoxiong 也可以通過配置 url設定 url convert為false 就可以支援駝峰式訪問 echo yeguoxiong 2 如果你的伺服器環境不支援pathinfo方式的url,可以使用...

Thinkphp學習筆記5 URL生成U方法

為了配合所使用的url模式,我們需要能夠動態的根據當前的url設定生成對應的url位址,為此,thinkphp內建提供了u方法,用於url的動態生成,可以確保專案在移植過程中不受環境的影響。u方法的定義規則如下 方括號內引數根據實際應用決定 u 位址表示式 引數 偽靜態字尾 顯示網域名稱 位址表示式...