https 支持已集成到Emlog 6.0,以下内容仅适用于Emlog 5.x用户。
# i9 U) |0 B" B, n! m 在进行修改之前,请先确定服务器已正确配置https。并且备份所有文件,防止遇到兼容性问题。4 Z/ r! s; y0 W! d
w. d4 y0 n: X. i1 l; F E. o' L 1. /include/lib/option.php! h5 W. F, P! ~* J: d% g; S' D
请将以下内容粘贴到 get function 的 default 判断分支之前 (在Emlog 5.3.1下是第43行)- case 'blogurl':
8 ?4 t; w. V4 W - return realUrl();! j( x7 e, I! g4 X- f' w$ M4 C
- break;+ z# Z; _4 U& |3 j: T
复制代码 2. /include/lib/function.base.php
) R s p) C; d: U f 请将以下内容粘贴到文件的末尾- /**
7 Q, L! W* f! y8 w$ i/ l' l% i - * 获取当前访问的base url3 a2 v2 S" B! ~, E2 \& d w" ^8 i
- */2 g) U/ A, m' T+ [) R
- function realUrl() {0 p: D8 l% J- d9 D! p) |
- $emlog_path = EMLOG_ROOT . DIRECTORY_SEPARATOR;
8 F# m+ o9 L, I( V% `: i - $script_path = pathinfo($_SERVER['SCRIPT_NAME'], PATHINFO_DIRNAME);
4 o5 @& C# U% k. V - $script_path = str_replace('\\', '/', $script_path);
/ ^. u! |0 a u4 Q3 |6 v) S4 D - $path_element = explode('/', $script_path);6 V4 l' ^& E, K2 o) ?
-
. r7 m4 F1 s9 c8 \6 Q9 a - $this_match = '';; C# c/ V. B/ O& e' {4 a7 Z6 C% O
- $best_match = '';# \6 i* M+ V3 g3 ?4 m9 _2 _
-
+ S; j# U6 h; y, I8 ^ - $current_deep = 0;
& d2 @- _) w* T+ y - $max_deep = count($path_element);
( e6 B3 ^. j8 m% P - ! ]$ O, a B( J3 o; E3 F7 H$ C
- while($current_deep < $max_deep) {
" h8 P- C' a! t# d$ S - $this_match = $this_match . $path_element[$current_deep] . DIRECTORY_SEPARATOR;: o. y: {. z8 L6 r2 V1 ?
-
6 g7 _* @- s2 ?* b& K/ y - if (substr($emlog_path, strlen($this_match) * (-1)) === $this_match) {5 j+ K1 `5 R) q" \3 q+ V# j) _! c
- $best_match = $this_match;
" A6 v1 C w; w1 ]6 ^/ _- V - }
- D8 E4 h, f0 z -
, o" ?0 S' K) f/ F' @ - $current_deep++;3 u5 q4 W6 X+ F# T
- }
6 J6 _; E: a3 M3 R6 t -
/ ?" Q E& U) ~0 ?* L: v - $best_match = str_replace(DIRECTORY_SEPARATOR, '/', $best_match);
5 ^2 ^. k8 s5 P- K9 K - $real_url = $_SERVER['HTTPS'] === 'on' ? 'https://' : 'http://';
7 Z; u; w$ {3 x' n) Y - $real_url .= $_SERVER["SERVER_NAME"];) D4 x+ I( T+ R# `9 R
- $real_url .= in_array($_SERVER['SERVER_PORT'], array(80, 443)) ? '' : ':' . $_SERVER['SERVER_PORT'];5 O" M* B& Q6 v, @% Q
- $real_url .= $best_match;& m( x- `5 V* i! K! S: u
-
( z" N+ E# h+ v! z3 ?: Q - return $real_url;
7 m' c) h1 C4 T$ \ - }
复制代码
9 \8 {8 J% E5 y# n. O9 c' D 3. /init.php
) b( X$ ~: s# B2 Z- m7 E- i 请用以下代码覆盖同名的define (在Emlog 5.3.1下是第39行)& B- Q6 X4 O% g* z
- define('DYNAMIC_BLOGURL', Option::get("blogurl"));
3 [ t$ o6 j: D4 \: a 9 v$ R# a5 }' |: j+ v! c
" K4 p" G' G7 v+ O5 E
& f0 D1 R0 k3 D
7 ?! ?1 p1 B. q) ? |