apache เปลี่ยนเส้นทางจากไม่ใช่ www เป็น www


206

ฉันมีเว็บไซต์ที่ดูเหมือนจะไม่เปลี่ยนเส้นทางจากที่ไม่ใช่ www ไปยัง www

การกำหนดค่า Apache ของฉันเป็นดังนี้:

RewriteEngine On
### re-direct to www
RewriteCond %{http_host} !^www.example.com [nc]
RewriteRule ^(.*)$ http://www.example.com/$1 [r=301,nc] 

ฉันกำลังคิดถึงอะไร


1
สำหรับ.htaccessวิธีการแก้ปัญหาตามฉันแนะนำคำตอบที่ถูกวางในคำถาม diametral: stackoverflow.com/a/5262044/367456
hakre

นี่เป็นสิ่งที่ดีมันเพิ่มสแลชไปยัง URL ดังนั้นให้ลดสแลชก่อนดอลลาร์
wuxmedia

คำตอบ:


510

การใช้เอ็นจิ้นเขียนซ้ำเป็นวิธีที่ค่อนข้างหนักในการแก้ไขปัญหานี้ นี่เป็นวิธีที่ง่ายกว่า:

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / http://www.example.com/
</VirtualHost>

<VirtualHost *:80>
    ServerName www.example.com
    # real server configuration
</VirtualHost>

จากนั้นคุณจะมี<VirtualHost>ส่วนอื่นServerName www.example.comสำหรับการกำหนดค่าเซิร์ฟเวอร์จริงของคุณ Apache จะเก็บรักษาสิ่งต่าง ๆ โดยอัตโนมัติหลังจากที่/ใช้Redirectคำสั่งซึ่งเป็นความเข้าใจผิดที่พบบ่อยเกี่ยวกับสาเหตุที่วิธีการนี้ใช้ไม่ได้ (ในความเป็นจริง)


20
คุณจะทำอย่างไรกับเว็บไซต์ที่มีโฮสต์เสมือน ssl เช่นกัน?
Shabbyrobe

28
ฉันได้รับข้อผิดพลาด "หน้าเว็บที่ example.com ส่งผลให้มีการเปลี่ยนเส้นทางมากเกินไป" เมื่อใช้คำแนะนำนี้ คนอื่นมีปัญหานี้หรือไม่?
Jonathan Berger

4
@ BlackDivine: ไม่มีอะไรน่าอัศจรรย์เกี่ยวกับการทำมันในทิศทางอื่น เพียงสลับwww.exampleและexampleที่ใดก็ตามที่ปรากฏในตัวอย่าง
Greg Hewgill

11
@JonathanBerger หากคุณเปลี่ยนเส้นทางมากเกินไปคุณอาจไม่ได้กำหนดค่าไฟล์อย่างดี ตรวจสอบให้แน่ใจว่ามี VirtualHosts 2 อัน: อันที่ไม่ใช่ www ซึ่งอยู่ด้านบนและอีกอันกับ ServerName www.example.com ซึ่งมีการกำหนดค่าจริง ตรวจสอบให้แน่ใจว่าไม่มีการเปลี่ยนเส้นทางในการกำหนดค่า www.example.com ด้วย (ทั้ง mod_alias และ mod_rewrite)
Savas Vedova

3
สำหรับเซิร์ฟเวอร์โฮสต์เสมือนพูด example.com ฉันมีRedirect 301 / http://example2.com/extra/แต่เมื่อมันเปลี่ยนเส้นทางพลาดเฉือนท้ายหมายความว่าจะไปexample.com/blah example2.com/extrablahความคิดใด ๆ (Apache 2.2.22)
Peter Howe

87

http://example.com/subdir/?lold=13666 => http://www.example.com/subdir/?lold=13666

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

3
คำตอบสั้น ๆ มาก ... แต่สำหรับประเด็น ... ไม่แน่ใจว่านี่เป็นการโหวตขึ้นหรือลง
thecoshman

2
โอ้มันเรียบร้อยแล้วสิ่งนี้สามารถรวมอยู่ในการกำหนดค่าเซิร์ฟเวอร์ที่ระดับบนสุด (และถ้าเป็นเช่นนั้น) จะใช้กับโฮสต์เสมือนทุกตัว!
thenickdude

สวัสดี @burzumko คุณจะทำสิ่งนี้อย่างไรซึ่งเป็นความจริงสำหรับทุกคนที่ไม่มี www แต่ถ้าอย่างนั้นก็ให้พูดว่าexample.com/subdi1/ws/* ไปโดยไม่มี www?
อาจารย์สีดำ

1
ฉันใช้โซลูชันนี้สำหรับโฮสต์เสมือน HTTPS ด้วย เพียงเพิ่ม an sใน http ในแถวที่สาม
rodrigoap

46
<VirtualHost *:80>
    ServerAlias example.com
    RedirectMatch permanent ^/(.*) http://www.example.com/$1
</VirtualHost>

สิ่งนี้ไม่ได้ผลสำหรับฉัน มันทำให้เกิดการวนรอบไม่สิ้นสุดไปยังไซต์เดียวกัน
dmiller309

1
@ dmiller309: คุณเกิดขึ้นที่จะได้รวมwww.ในServerAlias?
cherouvim

2
คุณพูดถูกฉันตั้งใจใส่ www ใน ServerAlias ​​โดยใช้ * สัญลักษณ์แทน เพราะฉันทำให้การเรียงลำดับของรายการ VirtualHost ยุ่งเหยิง * สัญลักษณ์แทนมีโอกาสตรงกันเมื่อฉันไม่คิดว่าจะเป็นเช่นนั้น
dmiller309

7
นี่เป็นคำตอบที่ดีที่สุดเพราะสะอาดรักษาเส้นทาง (ต่างจากคำตอบ # 1) และไม่ใช้ Rewrite
schieferstapel

30

หากต้องการลบออกwwwจากURLเว็บไซต์ของคุณให้ใช้รหัสนี้ใน.htaccessไฟล์ของคุณ:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^(.*)$ http://%1$1 [R=301,L]

เพื่อบังคับใช้wwwในเว็บไซต์ของคุณURLใช้รหัสนี้ใน.htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^YourSite.com$
RewriteRule ^(.*)$ http://www.yourSite.com/$1 [R=301]
RewriteCond %{REQUEST_fileNAME} !-d
RewriteCond %{REQUEST_fileNAME} !-f
RewriteRule ^(([^/]+/)*[^./]+)$ /$1.html [R=301,L]

ไหนจะต้องถูกแทนที่ด้วย YourSite.comURL


คำตอบที่ดีที่สุดที่นี่เพราะมันใช้ได้กับเว็บไซต์ที่มีชื่อโดเมนหลายชื่อ <3
Clement Herreman

2
ส่วนที่สองคืออะไรกับ. html สำหรับ?
นาธาน H

6
ลบเครื่องหมายทับก่อน $ 1 เพื่อไม่มีเครื่องหมายทับสองอัน (//) หลังจากเปลี่ยนเส้นทาง => RewriteRule ^ (. *) $ yourSite.com $ 1 [R = 301]
Kevin Campion

22
    <VirtualHost *:80>
       DocumentRoot "what/ever/root/to/source"
       ServerName www.example.com

       <Directory "what/ever/root/to/source">
         Options FollowSymLinks MultiViews Includes ExecCGI
         AllowOverride All
         Order allow,deny
         allow from all
         <What Ever Rules You Need.>
      </Directory>

    </VirtualHost>

    <VirtualHost *:80>
      ServerName example.com
      ServerAlias *.example.com
      Redirect permanent / http://www.example.com/
    </VirtualHost>

นี่คือสิ่งที่เกิดขึ้นกับรหัสด้านบน บล็อกโฮสต์เสมือนแรกจะตรวจสอบว่าคำขอเป็น www.example.com หรือไม่และเรียกใช้เว็บไซต์ของคุณในไดเรกทอรีนั้น

ความล้มเหลวใดมาถึงส่วนโฮสต์เสมือนที่สอง นี่คือสิ่งอื่นที่ไม่ใช่ www.example.com จะถูกเปลี่ยนเส้นทางไปที่ www.example.com

ลำดับที่นี่สำคัญ หากคุณเพิ่มคำสั่งโฮสต์เสมือนที่สองก่อนมันจะทำให้เกิดการวนรอบการเปลี่ยนเส้นทาง

โซลูชันนี้จะเปลี่ยนเส้นทางคำขอใด ๆ ไปยังโดเมนของคุณไปที่ www.yourdomain.com

ไชโย!


16

สิ่งนี้คล้ายกับคำแนะนำอื่น ๆ ที่มีการปรับปรุงสองสามข้อ:

  • ไม่จำเป็นต้อง hardcode โดเมน (ทำงานร่วมกับ vhosts ที่ยอมรับหลายโดเมนหรือระหว่างสภาพแวดล้อม)
  • รักษารูปแบบ (http / https) และละเว้นผลกระทบของ%{REQUEST_URI}กฎก่อนหน้า
  • ส่วนของเส้นทางที่ไม่ได้รับผลกระทบRewriteRuleเหมือนก่อนหน้า%{REQUEST_URI}นี้

    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^(.*)$ %{REQUEST_SCHEME}://www.%{HTTP_HOST}/$1 [R=301,L]
    

4
เกือบจะสมบูรณ์แบบ. จะต้องเป็น% {HTTP_HOST} $ 1 ไม่ใช่% {HTTP_HOST} / $ 1 (หรือจะเพิ่มเครื่องหมายทับสองเท่า)
Michael Wyraz

@Michael Wyraz: ไม่ทับสองที่นี่หรือ!
not2savvy

10
RewriteCond %{HTTP_HOST} ^!example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

สิ่งนี้เริ่มต้นด้วยHTTP_HOSTตัวแปรซึ่งมีเพียงส่วนชื่อโดเมนของ URL ขาเข้า ( example.com) สมมติว่าชื่อโดเมนไม่มีwww.และตรงกับชื่อโดเมนของคุณอย่างแน่นอนจากนั้น RewriteRule จะเข้ามาเล่น รูปแบบ^(.*)$จะตรงกับทุกอย่างในREQUEST_URIซึ่งเป็นทรัพยากรที่ร้องขอในคำขอ HTTP ( foo/blah/index.html) มันเก็บไว้ในการอ้างอิงกลับซึ่งจะใช้ในการเขียน URL ใหม่ด้วยชื่อโดเมนใหม่ (ที่เริ่มต้นด้วยwww)

[NC]บ่งชี้การจับคู่รูปแบบที่ไม่คำนึงถึงตัวพิมพ์เล็กและใหญ่[R=301]บ่งชี้ว่าการเปลี่ยนเส้นทางภายนอกโดยใช้รหัส 301 (ทรัพยากรถูกย้ายอย่างถาวร) และ[L]หยุดการเขียนใหม่ทั้งหมดต่อไปและเปลี่ยนเส้นทางทันที


6

รหัสการเปลี่ยนเส้นทางสำหรับทั้งที่ไม่ใช่ www => www และอีกฝั่ง www => ที่ไม่ใช่ www ไม่มีโดเมนและสกีมฮาร์ดโค้ดในไฟล์. htaccess ดังนั้นโดเมนต้นทางและเวอร์ชัน http / https จะถูกเก็บไว้

APACHE 2.4 และใหม่กว่า

NON-WWW => WWW:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ %{REQUEST_SCHEME}://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

WWW => ไม่ใช่ WWW:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ %{REQUEST_SCHEME}://%1%{REQUEST_URI} [R=301,L]

หมายเหตุ: ไม่ทำงานกับ Apache 2.2 โดยที่% {REQUEST_SCHEME} ใช้ไม่ได้ เพื่อความเข้ากันได้กับ Apache 2.2 ให้ใช้รหัสด้านล่างหรือแทนที่% {REQUEST_SCHEME} ด้วย http / https แบบคงที่


APACHE 2.2 และใหม่กว่า

NON-WWW => WWW:

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

... หรือรุ่นที่สั้นกว่า ...

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|offs
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

WWW => ไม่ใช่ WWW:

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]

... รุ่นที่สั้นกว่าเป็นไปไม่ได้เพราะ% N มีให้เฉพาะจาก RewriteCond ล่าสุด ...


Apache 2.4 config แก้ไขปัญหาขอบคุณสำหรับคำตอบที่ชัดเจน .. !!
KimchiMan

5

ฉันวิ่งนี่ ...

 RewriteEngine on
 RewriteCond %{HTTP_HOST} !^www.*$ [NC]
 RewriteRule ^/.+www\/(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

ฉันต้องการให้เป็นสากลสำหรับ 25+ โดเมนบนเซิร์ฟเวอร์ใหม่ของเราดังนั้นคำสั่งนี้อยู่ในไฟล์ virtual.conf ของฉันในแท็ก <Directory> (dir เป็นผู้ปกครองของ docroots ทั้งหมด)

ฉันต้องทำการแฮ็กสักหน่อยในกฎการเขียนซ้ำแม้ว่า docroot แบบเต็มจะถูกนำมาใช้ในการจับคู่รูปแบบแม้จะมีสิ่งที่http://httpd.apache.org/docs/2.2/mod/mod_rewrite.htmlกล่าว เกี่ยวกับมันเป็นเพียงสิ่งหลังจากโฮสต์และพอร์ต


5

หากคุณใช้ Apache 2.4 โดยไม่จำเป็นต้องเปิดใช้งานโมดูล apache เขียนใหม่คุณสามารถใช้สิ่งนี้:

# non-www to www
<If "%{HTTP_HOST} = 'domain.com'">
  Redirect 301 "/" "http://www.domain.com/"
</If>

1
คำตอบที่ไม่ถูกต้อง เมื่อใช้สิ่งนี้จะสามารถหลีกเลี่ยง vhost เพิ่มเติมซึ่งเป็นผลดีสำหรับสคริปต์ Let'sEncrypt อัตโนมัติ
Paul

นอกจากนี้หากคุณใช้ ANSIBLE เนื่องจาก ANSIBLE 2.0 คุณสามารถแทรกบล็อกลงในไฟล์ได้ในงานเดียวรายละเอียดเพิ่มเติมได้ที่นี่docs.ansible.com/ansible/ans//2.5/modules/blockinfile_module.html
sys0dm1n

3

เปลี่ยนเส้นทาง domain.tld เป็น www

บรรทัดต่อไปนี้สามารถเพิ่มได้ในคำสั่ง Apache หรือในไฟล์. htaccess:

RewriteEngine on    
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ http%{ENV:protossl}://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  • โดเมนอื่น ๆ ยังคงใช้งานได้
  • ไม่จำเป็นต้องปรับเปลี่ยนเส้น เพียงแค่คัดลอก / วางในที่ที่ถูกต้อง

อย่าลืมใช้การเปลี่ยนแปลง apache ถ้าคุณแก้ไข vhost

(ขึ้นอยู่กับค่าเริ่มต้น Drupal7 .htaccess แต่ควรใช้งานได้ในหลายกรณี)


3

มันง่ายมาก!

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

2
<VirtualHost *:80>
    ServerAlias example.com
    RedirectMatch permanent ^/(.*) http://www.example.com/$1
</VirtualHost>

สิ่งนี้จะเปลี่ยนเส้นทางไม่เพียง แต่ชื่อโดเมนเท่านั้น แต่ยังรวมถึงหน้าเว็บภายในเช่น ...

example.com/abcd.html                ==>     www.example.com/abcd.html
example.com/ab/cd.html?ef=gh    ==>    www.example.com/ab/cd.html?ef=gh


ขอบคุณสำหรับสิ่งนี้. มีประโยชน์มาก
Anthony


2

อย่าใช้เสมอRedirect permanent(หรือสาเหตุที่อาจทำให้เกิดปัญหาในอนาคต)

redirect permanentหากมีโอกาสที่คุณจะเพิ่มโดเมนย่อยต่อมาไม่ได้ใช้

เพราะหากลูกค้าใช้โดเมนย่อยที่ไม่ได้ลงทะเบียนเนื่องจากVirtualHostเขาอาจไม่เคยเข้าถึงโดเมนย่อยนี้แม้ว่าจะจดทะเบียนในภายหลัง

redirect permanentส่งHTTP 301 Moved Permanentlyไปยังไคลเอ็นต์ (เบราว์เซอร์) และแคชจำนวนมากตอบสนองนี้ตลอดกาล (จนกว่าจะล้างแคชด้วยตนเอง [ด้วยตนเอง]) ดังนั้นการใช้โดเมนย่อยนั้นจะทำการรับข้อมูลอัตโนมัติไปที่ www. *** โดยไม่ต้องร้องขอเซิร์ฟเวอร์อีกครั้ง

ดูเบราว์เซอร์แคช HTTP 301s นานเท่าใด

ดังนั้นเพียงแค่ใช้ Redirect

<VirtualHost *:80>
  ServerName example.com

  Redirect / http://www.example.com/
</VirtualHost>

Apache.org - เมื่อไม่ควรใช้ mod_rewrite

Apache.org - ชื่อโฮสต์ที่ยอมรับได้


1

RewriteEngine On RewriteCond %{HTTP_HOST} ^yourdomain.com [NC] RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [L,R=301]

ตรวจสอบงานที่สมบูรณ์แบบนี้


0

ฉันมีปัญหาเดียวกัน แต่แก้ไขด้วยสิ่งนี้

RewriteEngine On RewriteCond %{HTTP_HOST} !^www\. RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

กฎนี้เปลี่ยนเส้นทางที่ไม่ใช่ www ไปยัง www

และกฎนี้เพื่อเปลี่ยนเส้นทาง www ไปที่ไม่ใช่ www

RewriteEngine On RewriteCond %{HTTP_HOST} !^my-domain\.com$ [NC] RewriteRule ^(.*)$ http://my-domain.com/$1 [R=301,L]

อ้างอิงจาก http://dense13.com/blog/2008/02/27/redirecting-non-www-to-www-with-htaccess/


0

สิ่งนี้ใช้ได้กับฉัน:

RewriteCond %{HTTP_HOST} ^(?!www.domain.com).*$ [NC]
RewriteRule ^(.*)$  http://www.domain.com$1  [R=301,L]

ฉันใช้รูปแบบการมองไปข้างหน้า(?!www.domain.com)เพื่อแยกwwwโดเมนย่อยเมื่อเปลี่ยนเส้นทางโดเมนทั้งหมดไปยังwwwโดเมนย่อยเพื่อหลีกเลี่ยงการวนรอบที่ไม่มีที่สิ้นสุดใน Apache


0

รหัสที่ฉันใช้คือ:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

0

- หากคุณโฮสต์ชื่อโดเมนหลายชื่อ (ไม่บังคับ)

- หากชื่อโดเมนทั้งหมดนั้นใช้ https (เท่าที่ควร)

หากคุณต้องการให้ชื่อโดเมนเหล่านั้นทั้งหมดใช้ www dot domainName

วิธีนี้จะหลีกเลี่ยงการเปลี่ยนเส้นทางเบลอ (http: // ไม่ใช่ www ไปยัง http: // www แล้วไปที่ https: // www)

<VirtualHost *:80>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^(.*)$ https://www.%1$1 [R=301,L]
</VirtualHost>

และ

<VirtualHost *:443>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}$1 [R=301,L]
</VirtualHost>

คุณควรเปลี่ยนรหัสการเปลี่ยนเส้นทาง 301 เป็นรหัสที่สะดวกที่สุด


-1

หากใช้วิธีแก้ปัญหาข้างต้นของสอง<VirtualHost *:80>บล็อกที่มีขนาดต่างกันServerName...

<VirtualHost *:80>
    ServerName example.com
    Redirect permanent / http://www.example.com/
</VirtualHost>
<VirtualHost *:80>
    ServerName www.example.com
</VirtualHost>

... แล้วคุณจะต้องตั้งค่าNameVirtualHost Onได้เป็นอย่างดี

หากคุณไม่ทำเช่นนี้ Apache จะไม่อนุญาตให้ใช้ตัวเลือกต่างServerNameๆ เพื่อแยกบล็อกดังนั้นคุณจะได้รับข้อความแสดงข้อผิดพลาดนี้:

[warn] _default_ VirtualHost overlap on port 80, the first has precedence

... และอาจไม่มีการเปลี่ยนเส้นทางเกิดขึ้นหรือคุณมีการวนรอบการเปลี่ยนเส้นทางไม่สิ้นสุดทั้งนี้ขึ้นอยู่กับบล็อกที่คุณใส่ก่อน


-1

ฉันมีงานที่คล้ายกันใน WP Multisite ซึ่งกฎการเปลี่ยนเส้นทางจะต้องเป็นแบบทั่วไป (สำหรับโดเมนใดก็ตามที่ฉันต้องการเพิ่มในเครือข่าย) ฉันแก้ไขการเพิ่มสัญลักษณ์แทนลงในโดเมน (โดเมนที่พัก) หมายเหตุ หลังจาก. com

CNAME * domain.com.

จากนั้นฉันเพิ่มบรรทัดต่อไปนี้ลงในไฟล์. htaccess ที่รูทของเว็บไซต์ multisite ของฉัน ฉันเดาว่ามันใช้ได้กับทุกไซต์

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

หวังว่านี่จะช่วยได้

PS หากคุณต้องการเปลี่ยนเส้นทางจากไม่ใช่ www เป็น www ให้เปลี่ยนบรรทัดสุดท้ายเป็น

RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]

-2

ฉันพบว่ามันง่ายกว่า (และมีประโยชน์มากกว่า) ในการใช้ ServerAlias ​​เมื่อใช้หลายโฮสต์

<VirtualHost x.x.x.x:80>
    ServerName www.example.com
    ServerAlias example.com
    ....
</VirtualHost>

วิธีนี้ใช้ได้กับ https vhosts ด้วย


อีกไดรฟ์ลง downvote สนใจที่จะอธิบายโอ้พระเจ้าผู้ยิ่งใหญ่แห่ง httpd ที่ไม่สามารถอธิบายการลงคะแนนได้บ้าง?
แอนโธนี

1
สิ่งนี้ทำให้คุณมีหลายโดเมนที่โฮสต์ไซต์เดียวกัน ขึ้นอยู่กับสถานการณ์ของคุณและสิ่งที่เว็บเซิร์ฟเวอร์พื้นฐานของคุณกำลังทำงานอยู่คุณจะมีปัญหากับคุกกี้ที่ไม่ดำเนินการคนสับสนและปัญหาเกี่ยวกับเครื่องมือค้นหา
Jeffrey Van Alstine
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.