Web2.0, HPC, Unix, and my mine.
Posts tagged Web
[Apache] Create subdomain on localhost
Jan 31st
ปกติแล้ว คนที่ทำเวบ ก็สร้าง subdomain ผ่าน direct admin ง่ายมาก แต่ถ้าอยากลองบน localhost จะทำยังไงดีหละ นั่งหาๆเหมือนกัน เลยจดไว้ดีกว่า กันลืม ลองดูวิธีนี้ละกันนะ ง่ายดี
สำหรับตัวอย่างนี้ สมมติว่าสร้าง subdomain ชื่อว่า sub โดยมีไดเรคทอรี่อยู่ที่ /var/www/sub
เริ่มจาก
$ sudo vi /etc/apache2/sites-enabled/000-default
เติมข้อความนี้ลงไป
ServerAdmin admin@localhost DocumentRoot /var/www/sub ServerName sub.localhost
ตามด้วยคำสั่ง
$ sudo vi /etc/hosts
เติมข้อความนี้ลงไป
127.0.0.1 localhost 127.0.0.1 sub.localhost
ลองทดสอบดู ถ้าไม่ได้ให้ restart apache service ก่อนครับ
$ sudo /etc/init.d/apache2 restart
เสร็จแล้วๆๆๆ อิอิ
[Ubuntu] Enabled Mod_Rewrite and htaccess on LAMP
Jul 17th
วิธีการดังกล่าว เหมาะสำหรับ ผู้ที่ต้องการ Deploy Web Framework จำพวก codeigniter, cakephp, zend framework เป็นต้น ซึ่งต้องใช้ Mod_Rewrite และ htaccess
Web Server Installation
วิธีที่ 1
1. เปิดเทอร์มินัล แล้วพิมพ์ตามนี้เรย
$ sudo apt-get install apache2 mysql-server-5.0 libapache2-mod-php5
2. restart apache ครั้งนึง
$ sudo /etc/init.d/apache2 restart
หรือ วิธีที่ 2
1. เปิดเทอร์มินัล แล้วพิมพ์ตามนี้เรย
$ sudo tasksel
2. เลือก Web Server กับ OpenSSH Server
3. restart apache ครั้งนึง
$ sudo /etc/init.d/apache2 restart
3. เพิ่มเติม Apache Directory จะอยู่ที่ /etc/apache2
เปิดบริการ mod_rewrite และ .htaccess
โดยปกติแล้ว Apache ไม่ได้ Allow ไฟล์ .htaccess กับ Enable Modul Rewrite เพราะฉะนั้น เราต้องไปลงเอง
1. Enabled mod_rewrite ก่อน
$ sudo a2enmod rewrite
2. เปิดไฟล์ 000-default เพื่อ AllowOverride หมายถึง อนุญาติให้ใช้ไฟล์ .htaccess
$ sudo vi /etc/apache2/sites-enabled/000-default
เปลี่ยนจาก “AllowOverride None” เป็น “AllowOverride All” เพื่อให้ .htaccess ทำงาน จะได้ Code หน้าตาประมาณนี้
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot /var/www
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>3. Restart Apache จิ๊ดนุง
$ sudo /etc/init.d/apache2 restart
4. ทดสอบด้วยการลอง phpinfo(); ที่ index.php
<?php echo phpinfo(); ?>
[WordPress] Using Permalinks with htaccess
Jun 11th
หลายคนที่ได้ลง wordpress แล้ว url ของ entry ต่างๆ โดย default แล้วจะเป็นแบบแรก
- Default: http://blog.klainfo.com/press/?=123
- Date and name based: http://blog.klainfo.com/press/index.php/2006/06/14/sample-post/
- Numeric: http://blog.klainfo.com/press/index.php/archives/123
- Custom
ถ้าต้องการให้ url ดังกล่าว ดูสวยงามมากขึ้น หรือด้วยเหตุผลเพื่อ SEO (Searh Engine Optimization) เป็นแบบที่ 2 หรือ 3 ดังนี้
http://example.com/category/post-name/ or http://example.com/year/month/day/post-name
เมื่อเข้าไปแก้ไขใน WordPress Admin -> Settings -> Permalinks แล้ว เลือกแบบ 2 หรือ 3 จะยังใช้งานไม่ได้
วิธีแก้ไข
More >
Enhancing your html layout!
Jun 10th
ตามมาตรฐาน W3C ซึ่งเป็น 1 ใน web standard ใหญ่ๆที่รู้จักกัน
วันนี้จะมาแนะนำ tag ใหม่ คือ abbr กับ acronym ครับ
โดยลักษณะการใช้งาน จะดูคล้ายๆกัน ซึ่งพบได้บ่อยครั้งใน Wikipedia
ความคล้าย : acronym และ abbr เพิ่มความหมายใ้ห้ตัวอักษรย่อต่างๆ ซึ่งทำงานเหมือนกัน
เช่น [CSS = Cascading Style Sheets] เป็นต้นความต่าง คือ
acronyme อ่านออกเสียงเป็นคำๆ เช่น RADAR (เร-ดาร์) หรือ NATO(นาโต้)
abbr : อ่านออกเสียงทุกตัวอักษร เช่น CSS(ซี-เอส-เอส) หรือ URI(ยู-อาร์-ไอ)
ตัวอย่าง
1 2 | <acronym title="Radio Detecting And Ranging">radar</acronym> <abbr title="Cascading Style Sheets">CSS</abbr> |
ผลลัพท์ได้เป็นดังนี้
1 2 3 | <abbr title="Really Simple Syndication">RSS</abbr> <abbr title="Uniform Resource Identifier">URI</abbr> <abbr title="Cascading Style Sheets">CSS</abbr> |
โดยส่วนใหญ่แล้ว มักจะใช้ abbr ซะมากกว่า และแน่นอน IE6 ไม่สามารถแสดงผลได้อีกเช่นเคย แต่ FF ทำงานได้ปกติ (==’)
จึงมีวิธีแก้ไขดังนี้
1.) ใช้ span เข้ามาช่วย
1 | <abbr title="Cascading Style Sheets"><span class="abbr" title="Cascading Style Sheets">CSS</span></abbr> |
2.) ใช้ javascript
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <script type="text/javascript">
function styleAbbr() {
var oldBodyText, newBodyText, reg
if (isIE) {
oldBodyText = document.body.innerHTML;
reg = /<ABBR([^>]*)>([^<]*)<\/ABBR>/g;
newBodyText = oldBodyText.replace(reg, '<ABBR $1><SPAN class=\"abbr\" $1>$2</SPAN></ABBR>');
document.body.innerHTML = newBodyText;
}
}
window.onload = function(){
styleAbbr()
};
isIE = (document.all) ? true:false;
</script> |
script นี้จะใช้หลักการของ regular expression มาแก้ปัญหา
วิธีใช้ แค่ copy แปะไว้ที่ header แค่นั้นครับ แล้ว javascript นี้จะเรียกทั้งเพจมาแก้เอง
เพียงเท่าที่ ก็สามารถแสดงผลลัพท์ได้ทั้ง IE และ Firefox แล้วครับ
ถามว่า ทำไมต้องใช้ tag อะไรแบบนี้ด้วยหละ ไม่ได้ใช้ก็ไม่มีใครว่าครับ แต่ถ้ามี ก็เหมือนยกระดับเว็บของคุณเพิ่มมากขึ้น(search engine friendly) ครับ


