การเขียนโปรแกรม PHP ด้วย CodeIgniter Framework
ในบางครั้งเราอาจจะเจอปัญหา base_url() ที่เรียกใช้แล้วได้แค่ http://localhost หรือ http://www.your-domain-name.com เท่านั้น เข้าไปไม่ถึงใน Directory ที่ใช้เก็บโปรเจ็กต์ของเราวิธีแก้ไขก็คือ เข้าไปในไฟล์ config.php แล้วเพิ่มโค้ดด้านล่างนี้เข้าไปแทน
application/config/config.php
$potocal = 'http'.((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 's' : '');
$directory = str_replace('//','/',dirname($_SERVER['PHP_SELF']).'/');
$base_url = $potocal . '://'.$_SERVER['HTTP_HOST'] . $directory;
$config['base_url'] = $base_url;
แก้ไข
คำสั่งด้านบนนี้ เป็นการหาค่า URL ของหน้าเว็บปัจจุบัน ไม่ได้กำหนดค่า URL ของโปรเจ็กต์
เช่นเมื่ออยู่ใน Controller ชื่อว่า Shop จะได้ http://localhost/soap_station/index.php/shop
ดังนั้นเปลี่ยนเป็น
$potocal = 'http'.((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 's' : '');
$directory = '/your_project_directory';
$base_url = $potocal . '://'.$_SERVER['HTTP_HOST'] . $directory;
$config['base_url'] = $base_url;
ความคิดเห็น
แสดงความคิดเห็น