เมื่อทำการ
<?php
print $_SERVER["HTTP_HOST"];
?>
ก็จะได้ค่า $_SERVER["HTTP_HOST"] เป็น wildcard (*.domain.com)
บน Nginx เราสามารถส่งค่า parameter ตามที่ต้องการผ่านไปยัง cgi script ได้ด้วยคำสั่ง fastcgi_param โดยมีรูปแบบ
fastcgi_param <parameter name> <value>
ดังนั้นจึงเพิ่ม
fastcgi_param HTTP_HOST $host;
โดยตัวแปร $host นั้นตัว Nginx ทำการส่งค่ามาให้อยู่แล้วเป็นค่า host ที่ได้จาก http request จากนั้นเมื่อเราทำการตรวจสอบก็จะพบว่ามีค่า $_SERVER["HTTP_HOST"] ได้รับมาอย่างถูกต้องแล้ว
แต่เมื่อทำการทดสอบจริงกลับได้ผลเหมือนเดิม จึงทำการ
<?phpยังมีอีกตัวแปรที่ได้ค่าไม่ถูกต้องคือ $_SERVER["SERVER_NAME"] ซึ่ง Nginx ส่งค่า $server_name ให้เป็นค่าปริยาย ดังนั้นเราก็ทำการเพิ่ม
print_r($_SERVER);
?>
fastcgi_param SERVER_NAME $host;
หลังจากเพิ่มทั้ง 2 ค่าแล้ว WPMU ก็สามารถทำงานได้อย่างถูกต้อง
ส่วนของ rewrite rule นั้น แปะไว้เป็นบันทึกเผื่อท่านใดต้องการนำไปใช้
index index.html index.php;
root /var/www/html;
rewrite ^.*/files/(.*) /wp-content/blogs.php?file=$1;
location / {
try_files $uri $uri/ /index.php?q=$uri;
if (!-e $request_filename) {
rewrite ^.+/?(/wp-.*) $1 last;
rewrite ^.+/?(/.*\.php)$ $1 last;
rewrite . /index.php last;
}
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
}
อย่าลืมเปลี่ยนค่า root เป็น path ของ WPMU ของท่านด้วย