เปลี่ยน base url แบบอัตโนมัติ เมื่อคุณนำไปใช้งานบน server

เคยเป็นไหมที่ทำงานบนเครื่อง แล้วเมื่อทำเสร็จแล้วเวลาจะนำขึ้นไปใช้บน Server จริงแล้วต้องมานั่งแก้ base url ให้ตรงกับเซิร์ฟเวอร์ที่เราจะนำขึ้นไป เพื่อแก้ปัญหานี้ผมเอา code ที่จะทำให้เราไม่ต้องมาคอยแก้ไขตรงส่วนนี้อีกเลย โดยบทความนี้ได้เอามาจาก Codeigniter's Wiki : Automatic config base url อันนี้ โดยวิธีทำก็ง่ายๆครับ เข้าไปที่ config.php ของ CodeIgniter เสร็จแล้วนำโค้ดตรงส่วนนี้แทนที่ $config['base_url'] ของเดิม

$config['base_url'] = "http://".$_SERVER['HTTP_HOST']; $config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

โดยโค้ดด่านบนนั้นจะใช้ได้เฉพาะแบบ http ส่วน https นั้นจะต้องใช้โค้ดด้านล่างนี้ (ถ้าทำแล้วต้องยุ่งทั้งสองอย่าง ก็ใช้ด้านล่างครับ แต่ถ้าไม่ code ด้านบนก็เพียงพอ)

 $config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http"); $config['base_url'] .= "://".$_SERVER['HTTP_HOST']; $config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']); 

หรืออันนี้ซึ่งเป็นแบบสั้นของอันที่สอง ซึ่งให้ผลเหมือนกัน

$config['base_url'] = "http://".$_SERVER['HTTP_HOST'].str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

Comments

ความรู้อีกแบบ

ความรู้อีกแบบ อันนี้ก็จริงครับ

4. ควร fix ดีกว่า

4. ควร fix ดีกว่า [code] $config['base_url'] =($_SERVER['HTTP_HOST']=="localhost")?"http://localhost/123/":"http://www.domainname.xxx"; [/code]

สวัสดีครับ ยินดีที่ได้ร่วมกลุ่มด้วยครับ

พอดีผมกำลังจพะ หา php framework ดีๆซักตัวนึงในการพัฒนาเวปแทน Spring framework ของ java อยู่พอดี เพราะด้วยเห็นผลที่java หาโฮทยากเหลือเกินที่จะเอาเวปผมไปรันได้อย่างสมบูรณ์นอกจากผมจะมีโฮทเองหรือไม่ก็เช่าเอาแล้วคอนฟิก เองแบบที่เคยทำมาเจอตัวนี้ค่อยข้างเปิดกว้างทางการพัฒนากว่าตัวอื่นๆ ซึ่งอยากจะร่วมแจมสร้างชุมชนด้วย เพราะเวปที่ผมมีโครงการทำก็เป็นเวปเกี่ยวกับพัฒนาเวปโดยตรง ทั้งเรื่อง server programing กราฟฟิก เกี่ยวกับเวปทั้งหมด ถ้ายังไงอยากจะร่วมกันเป็นพัธมิตรนะครับ

 

ได้เลยครับผมเข้ามาแจมในบอร์ดเ

ได้เลยครับผมเข้ามาแจมในบอร์ดเลยครับ

เพิ่มใน คู่มือการใช้งานดีมั้ย

ส่วนนี้ผมว่าเพิ่มในคู่มือการใช้งานด้วยดีกว่าครับ ส่วนนี้แค่บอกว่าทำอะไร แล้วจะได้ยังงัย ส่วนวิธีการทำนำไปไว้ใน คู่มือ จะทำให้ view หน้า index ได้หลายๆ เรื่อง จะดีกว่าหรือป่าวครับ Laughing

ตอนนี้ผมขอว่างไว้ตรงนี้ก่อนคร

ตอนนี้ผมขอว่างไว้ตรงนี้ก่อนครับ ไว้ผมแปลทุกส่วนหมดแล้วของ "คู่มืิอการใช้งาน" แล้วเดียวจะเริ่มมาเสริมเรื่องพวกนี้ครับ