https 支持已集成到Emlog 6.0,以下内容仅适用于Emlog 5.x用户。0 W* q/ a1 `2 n
在进行修改之前,请先确定服务器已正确配置https。并且备份所有文件,防止遇到兼容性问题。0 q P$ Q9 ~/ S3 R& O/ J
! o- l- h. R) f
1. /include/lib/option.php& Z9 R) F6 U( ?; @+ s+ X/ b. l
请将以下内容粘贴到 get function 的 default 判断分支之前 (在Emlog 5.3.1下是第43行)- case 'blogurl':; W+ V$ z4 K- x4 k: E0 d" V
- return realUrl();
, J( O6 g/ `" S/ l/ \1 R0 b' D: G - break;
9 `% d0 Y. W- _/ Y4 E- y
复制代码 2. /include/lib/function.base.php
) ~: Z) J$ @$ e8 P/ W 请将以下内容粘贴到文件的末尾- /**+ Y2 U$ `8 I, r) [; H c
- * 获取当前访问的base url$ {* |6 F( d$ M# x: v; \, V+ t0 C% x# W i
- *// \0 a1 ^6 d. O1 U% ?6 E* l1 m) ^
- function realUrl() {
: {3 b5 z5 g7 t; y - $emlog_path = EMLOG_ROOT . DIRECTORY_SEPARATOR;% G! d) g, N* _5 J- h) P: c
- $script_path = pathinfo($_SERVER['SCRIPT_NAME'], PATHINFO_DIRNAME);6 h5 k% Q, o* R; ?$ r. g
- $script_path = str_replace('\\', '/', $script_path);
}0 d# R: C7 D- f5 d - $path_element = explode('/', $script_path);
& H! O/ Y/ w% Z+ Y -
! W) }; k6 b9 ?( }) N - $this_match = '';
, y& n; v7 N2 H1 J% U7 n - $best_match = '';
* i, k1 ?9 a; Y; W$ V. @6 \' l -
8 |3 @* C7 {- B2 ^' A* _ - $current_deep = 0;
0 |2 I1 R) i- R* ~8 v1 _$ U - $max_deep = count($path_element);
& Y# l/ v I2 k( I5 b, G+ O - + F8 C4 e* `7 H5 u! D
- while($current_deep < $max_deep) {
0 q2 s! o2 S/ m/ f+ A - $this_match = $this_match . $path_element[$current_deep] . DIRECTORY_SEPARATOR;
0 b' P! {% G" |8 o) F! i - 4 j' d- r5 y* [0 {# w! S7 l3 p
- if (substr($emlog_path, strlen($this_match) * (-1)) === $this_match) {' k9 i2 v0 C9 l$ Z7 L8 H
- $best_match = $this_match;
* B4 q j3 q6 | - }. r- w$ M# y* {9 \. j
-
4 ?- ~' ]+ }+ e3 u+ \' \+ \ - $current_deep++;! s" [& V( s/ V% B' e# _
- }
2 K8 f% |. F# e% O8 R" G( g5 L) f - 4 t4 g5 N6 r6 P9 D# Z- A% p2 v. [
- $best_match = str_replace(DIRECTORY_SEPARATOR, '/', $best_match);) p& K4 J; s; G! z
- $real_url = $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://'; Z4 h' e L& {# z0 s8 _5 A$ ?
- $real_url .= $_SERVER["SERVER_NAME"];
3 r# @* W2 U1 ?2 @9 j# C$ R4 r6 r6 F - $real_url .= in_array($_SERVER['SERVER_PORT'], array(80, 443)) ? '' : ':' . $_SERVER['SERVER_PORT'];/ Y$ M: Z# Q9 Q2 T- ?
- $real_url .= $best_match;! {( `8 f# l. M$ k9 G7 g8 @
-
, ]( I# p+ D( {5 K- R$ { - return $real_url;$ m/ z1 j4 q' U& B+ D
- }
复制代码
1 M" m+ j- C8 d" ^/ M. B 3. /init.php0 E( S/ j- r6 v g) ?. G
请用以下代码覆盖同名的define (在Emlog 5.3.1下是第39行)# Q: y2 F$ {1 _3 [' ^
- define('DYNAMIC_BLOGURL', Option::get("blogurl"));! m2 |5 E7 H5 W# g
' ]' P/ N# J+ ^1 j) E% j2 r" @2 x$ q- a8 ]
" Q+ l- ]* c. N2 m, `( l
j: o# |& R# D/ R# p |