|
|
|
ถามเรื่อง htaccess กับ subdomain และ https ต้องทำยังไงถึงจะได้ตามเงื่อนไขครับ |
|
|
|
|
|
|
|
ใช้ wildcard subdomain ใช่มั้ยครับ คงสามารถ setup virtual host เองได้
แนะนำให้แยก block VirtualHost ใน httpd.conf ไปเลยครับ มันจะทำงานเร็วกว่า .htaccess เยอะ
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
<Directory "root ของคุณ">
RewriteEngine On
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName example.com
# การตั้งค่า SSL ของคุณ
# ...
<Directory "root ของคุณ">
RewriteEngine On
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]
</Directory>
</VirtualHost>
<VirtualHost *:443>
ServerName www.example.com
# การตั้งค่า SSL ของคุณ
# ...
# การตั้งค่าสำหรับ www
# ...
</VirtualHost>
<VirtualHost *:80>
ServerName other.example.com
ServerAlias *.example.com
# การตั้งค่าสำหรับ subdomain
</VirtualHost>
|
|
|
|
|
Date :
2015-06-11 17:27:46 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ใช่ wildcard อะคับ
ssl ก็ราคาถูกๆ ตัวต้นๆ ที่ถูกๆเลยอะ
>< ผมเข้าใจผิดไหมหว่า
|
|
|
|
|
Date :
2015-06-11 17:34:11 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ครับ ผมหมายถึงใน DNS คุณกำหนด subdomain แบบ wildcard ใช่มั้ยล่ะครับ ให้ทุกอันยิงไปที่ IP เดียวกัน จะเป็น A หรือ CNAME ก็แล้วแต่
เพราะถ้าคุณสามารถ setup แบบนี้ได้ แสดงว่าคุณอาจจะมีสิทธิเข้าถึง httpd.conf ผมเลยแนะนำแบบนั้นน่ะครับ
|
|
|
|
|
Date :
2015-06-11 17:44:25 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมเซตอัพ ssl และ subdomain ผ่าน directadmin อะคับผม
กับ upload htaccess ผ่าน ftp แค่นั้นเอง ><
|
ประวัติการแก้ไข 2015-06-11 17:47:08
|
|
|
|
Date :
2015-06-11 17:46:41 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ่อครับ
ถ้าอย่างนั้น subdomain นี่ก็เป็นแบบแยก folder ใช่มั้ยครับ ดังนั้นเราก็ไม่ต้องไปยุ่งอะไรกับส่วน subdomain
แต่ส่วน www. นี่เขียน .htaccess เพิ่มครับ
การ redirect การเรียกโดเมนแบบไม่มี www ให้เป็น https://www
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]
การ redirect การเรียกโดเมนแบบ http ให้เป็น https
RewriteEngine On
RewriteCond %{HTTPS} Off
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]
สองอย่างรวมกัน
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTPS} Off
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]
|
|
|
|
|
Date :
2015-06-11 17:55:28 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเชคแล้ว ไม่ผ่านเลยครับ
http://htaccess.madewithlove.be/
host ผม มัน .in.th ด้วยอะ
example.in.th > https://www.example.in.th
www.example.in.th > https://www.example.in.th
test.example.in.th > http://test.example.in.th
อยากได้แบบเนี่ยอะครับ
|
|
|
|
|
Date :
2015-06-11 23:58:01 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือคุณบอกว่าคุณ add subdomain ผ่าน directadmin งั้นก็ไม่ต้องไปยุ่งกับ subdomain อ่ะครับ
เพราะสิ่งที่ directadmin ทำเวลาคุณ add subdomain คือมันไปเพิ่ม virtual host ใน httpd.conf คุณให้ subdomain ที่กำหนดมี document root เป็น folder ชื่อเดียวกันกับ subdomain โดยอยู่ใน document root ของ domain หลักอีกที
ดังนั้นเวลาคุณเรียก subdomain มันก็จะไม่ยุ่งกับ domain หลักเลย พวกไฟล์ต่างๆ รวมถึง .htaccess ก็จะอ่านเฉพาะใน document root ของ subdomain
คุณแก้ .htaccess ใน document root ของ domain หลักก็พอ (www.example.com, example.com)
top level domain แบบไหนก็ set เหมือนกันครับ
RewriteEngine On
# ตรวจว่า domain ที่เรียก เป็นแบบไม่มี www หรือไม่
RewriteCond %{HTTP_HOST} ^example\.in\.th$
# ใช่ ก็ให้ redirect ไปแบบมี www
RewriteRule ^ https://www.example.in.th%{REQUEST_URI} [R=301,L]
# ตรวจว่าเรียกแบบ HTTP ปกติหรือไม่
RewriteCond %{HTTPS} Off
# ถ้าใช่ ก็ให้ redirect ไปแบบ https
RewriteRule ^ https://www.example.in.th%{REQUEST_URI} [R=301,L]
|
|
|
|
|
Date :
2015-06-12 05:19:23 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอา url เว็บคุณมาทดสอบดูก็ดีนะครับ จะได้รู้ว่ามันไม่ได้ยังไง ปัญหาจริงๆ คืออะไร
|
|
|
|
|
Date :
2015-06-12 05:21:07 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
gamesteam.in.th ตัวหลักครับ
อันนี้ตัว sub
treeoflife.gamesteam.in.th
|
|
|
|
|
Date :
2015-06-12 12:04:09 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้สร้าง .htaccess ใน folder ของ subdomain treeoflife ไว้หรือเปล่าครับ
เพราะตอนนี้มัน redirect ไป www. หมดเลยเวลาเข้า treeoflife.gamesteam.in.th ถ้าจะผิดก็ผิดตรงนั้นล่ะครับ คือใน folder ของ subdomain คุณไม่ต้องไปทำอะไรกับมันเลย ไม่ต้องมี .htaccess
หรือถ้ายังไม่ได้ หรือไม่เข้าใจที่ผมอธิบาย คุณต้องบอกข้อมูลมากกว่านี้ครับว่าคุณ setup subdomain ยังไง ผ่านเมนูไหน ได้ไปทำอะไรเพิ่มหรือไม่ เพราะปกติเวลาสร้าง subdomain ใน directadmin มันจะไม่ redirect แบบนี้ครับ นอกจากไปเพิ่มเติมอะไรเอง
|
|
|
|
|
Date :
2015-06-12 12:22:47 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใน subfoler ไม่มี htaccess อะคับ
มีแต่ตัวหลัก
เป็น codeignitor
AddDefaultCharset UTF-8
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^gamesteam\.in\.th$
RewriteRule ^ https://www.gamesteam.in.th%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* – [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|public|images|members|robots\.txt|css|favicon\.ico)
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>
<IfModule mod_deflate.c>
# Insert filters
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
|
|
|
|
|
Date :
2015-06-12 12:30:16 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วใน folder treeoflife มีไฟล์อะไรอยู่ข้างไหนครับ มี index.php หรืออะไรที่ทำการ redirect หรือเปล่า
เพราะแบบนี้มันแปลกครับ ตอนนี้ความเป็นไปได้มีแค่สองอย่างคือ มี index.php ที่ทำการ redirect หรือไม่ก็มี rewrite ใน httpd.conf ซึ่งอย่างหลังไม่น่าจะเกิดขึ้นได้ถ้าสร้าง subdomain กับ directadmin
|
|
|
|
|
Date :
2015-06-12 12:38:52 |
By :
phpinfo() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งง อยู่ครับ เลยกลับไปใช้อันเดิม เหมือนเวบเก่า clubzateam.com
AddDefaultCharset UTF-8
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} \.
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
RewriteCond %{HTTP_USER_AGENT} libwww-perl.*
RewriteRule .* – [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|public|images|members|robots\.txt|css|favicon\.ico)
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>
<IfModule mod_deflate.c>
# Insert filters
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE image/svg+xml
# Drop problematic browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Make sure proxies don't deliver the wrong content
Header append Vary User-Agent env=!dont-vary
</IfModule>
<IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/jpg "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
</IfModule>
--------------------------------
><
|
|
|
|
|
Date :
2015-06-12 14:15:59 |
By :
progamer2000 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|