คำถามติดแท็ก redirect

กลไก HTTP หรือ HTML ที่ใช้สำหรับเปลี่ยนเส้นทางเบราว์เซอร์ไปยังตำแหน่งที่มีเนื้อหาจริง

11
ใน Nginx ฉันจะเขียนคำขอ http ทั้งหมดไปยัง https ใหม่อีกครั้งในขณะที่ดูแลโดเมนย่อยได้อย่างไร
ฉันต้องการเขียนคำขอ http ทั้งหมดบนเว็บเซิร์ฟเวอร์ของฉันใหม่ให้เป็นคำขอ https ฉันเริ่มต้นด้วยสิ่งต่อไปนี้: เซิร์ฟเวอร์ { ฟัง 80; ตำแหน่ง / { เขียนใหม่ ^ (. *) https: //mysite.com$1 ถาวร } ... ปัญหาหนึ่งคือว่าสิ่งนี้จะลบข้อมูลโดเมนย่อยใด ๆ (เช่น node1.mysite.com/folder) ฉันจะเขียนข้างต้นอีกครั้งเพื่อเปลี่ยนเส้นทางทุกสิ่งไปยัง https และดูแลโดเมนย่อยได้อย่างไร
508 nginx  redirect  https 

5
เปลี่ยนเส้นทางเปลี่ยน URL หรือเปลี่ยนเส้นทาง HTTP เป็น HTTPS ใน Apache - ทุกสิ่งที่คุณอยากรู้เกี่ยวกับกฎ Mod_Rewrite แต่กลัวที่จะถาม
นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับ mod_rewrite ของ Apache การเปลี่ยน URL คำขอหรือเปลี่ยนเส้นทางผู้ใช้ไปยัง URL อื่นที่ไม่ใช่ URL ที่พวกเขาร้องขอ แต่เดิมนั้นทำได้โดยใช้ mod_rewrite ซึ่งรวมถึงสิ่งต่าง ๆ เช่น: การเปลี่ยน HTTP เป็น HTTPS (หรือวิธีอื่น ๆ ) การเปลี่ยนการร้องขอไปยังหน้าที่ไม่มีอยู่ในการแทนที่ใหม่อีกต่อไป การปรับเปลี่ยนรูปแบบ URL (เช่น? id = 3433 เป็น / id / 3433) นำเสนอหน้าเว็บที่แตกต่างจากเบราว์เซอร์โดยอ้างอิงจากสิ่งที่เป็นไปได้ภายใต้แสงจันทร์และดวงอาทิตย์ ทุกสิ่งที่คุณต้องการยุ่งกับ URL ทุกสิ่งที่คุณอยากรู้เกี่ยวกับกฎ Mod_Rewrite แต่ไม่กล้าถาม! ฉันจะเป็นผู้เชี่ยวชาญในการเขียนกฎ mod_rewrite ได้อย่างไร รูปแบบและโครงสร้างพื้นฐานของกฎ mod_rewrite คืออะไร ฉันต้องมีรูปแบบ / รสชาติของการแสดงออกปกติอะไรบ้าง? …

7
จุดที่มี“ www” ใน URL คืออะไร
นอกเหนือจากเหตุผลทางประวัติศาสตร์มีเหตุผลที่จะมี "www" ใน URL หรือไม่? ฉันควรสร้างการเปลี่ยนเส้นทางแบบถาวรจากwww.xyz.comไปยังxyz.comหรือจากxyz.comไปยังwww.xyz.comหรือไม่ คุณจะแนะนำแบบไหนและทำไม
238 http  url  redirect 

8
วิธีการบังคับหรือเปลี่ยนเส้นทางไปยัง SSL ใน nginx
ฉันมีหน้าลงทะเบียนในโดเมนย่อยเช่น: https://signup.example.com มันควรจะสามารถเข้าถึงได้ผ่าน HTTPS แต่ฉันกังวลว่าผู้คนอาจสะดุดมันผ่าน HTTP และรับ 404 html / server block ของฉันใน nginx มีลักษณะดังนี้: html { server { listen 443; server_name signup.example.com; ssl on; ssl_certificate /path/to/my/cert; ssl_certificate_key /path/to/my/key; ssl_session_timeout 30m; location / { root /path/to/my/rails/app/public; index index.html; passenger_enabled on; } } } สิ่งที่ฉันสามารถเพิ่มเพื่อให้ผู้คนที่ไปhttp://signup.example.comได้รับการเปลี่ยนเส้นทางไปยังhttps://signup.example.com? (FYI ฉันรู้ว่ามีปลั๊กอิน Rails ที่สามารถบังคับได้SSLแต่หวังว่าจะหลีกเลี่ยงได้)

4
Nginx Redirect ผ่าน Proxy, Rewrite และ Preserve URL
ใน Nginx เราพยายามเปลี่ยนเส้นทาง URL ดังนี้: http://example.com/some/path -> http://192.168.1.24 ตำแหน่งที่ผู้ใช้ยังคงเห็น URL ดั้งเดิมในเบราว์เซอร์ของตน เมื่อผู้ใช้ถูกเปลี่ยนเส้นทางกล่าวว่าพวกเขาคลิกที่ลิงค์ไป/section/index.htmlเราต้องการให้คำขอที่นำไปสู่การเปลี่ยนเส้นทาง http://example.com/some/path/section/index.html -> http://192.168.1.24/section/index.html และอีกครั้งยังคงรักษา URL เดิม ความพยายามของเราเกี่ยวข้องกับการแก้ปัญหาต่าง ๆ โดยใช้พร็อกซีและกฎการเขียนซ้ำและด้านล่างแสดงการกำหนดค่าที่ทำให้เราใกล้เคียงกับโซลูชันมากที่สุด (โปรดทราบว่านี่คือการกำหนดค่าเว็บเซิร์ฟเวอร์สำหรับexample.comเว็บเซิร์ฟเวอร์) อย่างไรก็ตามยังมีปัญหาสองข้อสำหรับสิ่งนี้: มันไม่ได้เขียนใหม่อย่างถูกต้องในที่ URL คำขอที่ได้รับจากเว็บเซิร์ฟเวอร์http://192.168.1.24รวมถึง/some/pathและดังนั้นจึงไม่สามารถให้บริการหน้าที่จำเป็น เมื่อคุณวางบนลิงค์เมื่อเพจได้รับการบริการ/some/pathหายไปจาก URL server { listen 80; server_name www.example.com; location /some/path/ { proxy_pass http://192.168.1.24; proxy_redirect http://www.example.com/some/path http://192.168.1.24; proxy_set_header Host $host; } location / { index …

4
วิธีรับ Apache2 เพื่อเปลี่ยนเส้นทางไปยังไดเรกทอรีย่อย
ฉันใช้ apache2 บน Debian etch โดยมีโฮสต์เสมือนหลายตัว ฉันต้องการเปลี่ยนเส้นทางเพื่อhttp://git.example.comไปที่http://git.example.com/git/ ควรจะง่ายจริงๆ แต่ Google ไม่ได้ค่อนข้างตัด ฉันได้ลองทำสิ่งที่ Redirect และ Rewrite แล้วและดูเหมือนว่าพวกเขาจะไม่ทำสิ่งที่ฉันต้องการ ...

4
เปลี่ยนเส้นทาง URL ภายใน Apache VirtualHost
ฉันมีเซิร์ฟเวอร์เฉพาะที่มี Apache ซึ่งฉันได้ตั้งค่า VirtualHosts บางตัว ฉันได้ตั้งค่าหนึ่งเพื่อจัดการโดเมน www รวมถึงโดเมนที่ไม่ใช่ www ไฟล์ VH .conf ของฉันสำหรับ www: <VirtualHost *> DocumentRoot /var/www/site ServerName www.example.com <Directory "/var/www/site"> allow from all </Directory> </VirtualHost> ด้วยสิ่งนี้.htaccess: RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ http://example.com/$1 [L,R=301] มีวิธีง่ายๆในการเปลี่ยนเส้นทาง www ไปเป็นรุ่นที่ไม่ใช่ www หรือไม่? ขณะนี้ฉันกำลังส่งทั้งสองเวอร์ชันให้เหมือนกันDocumentRootและใช้งานอยู่.htaccessแต่ฉันแน่ใจว่าฉันต้องสามารถทำได้ในไฟล์ VirtualHost

4
จะเปลี่ยนเส้นทาง root และ root ผ่าน htaccess ได้อย่างไร
ฉันต้องการเปลี่ยนเส้นทางเฉพาะรูทของฉันไปยัง URL อื่น แต่เก็บรักษาไดเรกทอรีย่อย / ทั้งหมดที่พวกเขาอยู่ (และเปลี่ยนเส้นทาง) ตัวอย่าง: mysite.com/1 เปลี่ยนเส้นทางไปยังที่ใดก็ได้ mysite.com/admin เปิดหน้าเว็บ ฉันต้องการ mysite.com/ เพื่อเปลี่ยนเส้นทางไปยัง mysecondsite.com และมีเพียงการเปลี่ยนเส้นทาง 301 โดยใช้ htaccess

8
วิธีใช้ DNS / ชื่อโฮสต์หรือวิธีอื่น ๆ ในการแก้ไข IP ที่เฉพาะเจาะจง: พอร์ต
นี่เป็นคำถามที่ยอมรับได้เกี่ยวกับการแก้ปัญหา DNS / ชื่อโฮสต์เป็น IP / พอร์ต ตัวอย่างที่ 1 ฉันใช้งานเว็บเซิร์ฟเวอร์ที่พอร์ต 80 และอีกพอร์ตหนึ่งที่พอร์ต 87 ฉันต้องการใช้ DNS เพื่อให้ www.example.com ไปที่พอร์ต 87 ฉันจะทำสิ่งนี้ให้สำเร็จได้อย่างไรโดยใช้ DNS เท่านั้น ตัวอย่างที่ 2 ฉันใช้บริการบนเซิร์ฟเวอร์ของฉันบนพอร์ตที่ไม่ได้มาตรฐาน ฉันจะให้ลูกค้าเชื่อมต่อกับพอร์ตที่ไม่ได้มาตรฐานนี้โดยอัตโนมัติได้อย่างไร ฉันสามารถใช้ DNS ได้หรือไม่ มีการสนับสนุนเฉพาะแอปพลิเคชันที่ DNS สามารถระบุ IP และพอร์ตได้หรือไม่ ตัวอย่างที่ 3 แอปพลิเคชั่นโปรโตคอลบางอย่างสนับสนุนการรับรู้ชื่อโฮสต์และอนุญาตให้มีการดำเนินการพิเศษตามข้อมูลนี้หรือไม่? มีคำถามอื่น ๆ เกี่ยวกับข้อบกพร่องของเซิร์ฟเวอร์ที่ครอบคลุมบางส่วนหรือไม่ Commandeering:แต่เดิมคำถามนี้ถามเกี่ยวกับการเรียกใช้ IIS และ Apache บนเซิร์ฟเวอร์เดียวกัน แต่แนวคิดเดียวกันนี้สามารถนำไปใช้กับซอฟต์แวร์เซิร์ฟเวอร์ใดก็ได้ที่รับการเชื่อมต่อจากไคลเอนต์ คำตอบด้านล่างอธิบายถึงปัญหาทางเทคนิคและวิธีแก้ปัญหาของการใช้ DNS และการสนับสนุนโปรโตคอลแอปพลิเคชันเพื่อกำหนดหมายเลขพอร์ตสำหรับไคลเอนต์ที่จะเชื่อมต่อ

2
apache2 ง่าย ๆ เปลี่ยนเส้นทางจากโดเมนหนึ่งไปอีกโดเมนหนึ่ง
สิ่งที่ฉันต้องการจะทำมีดังต่อไปนี้: โดเมนของฉัน xy.example.com ไม่มีอยู่อีกต่อไป ดังนั้นฉันต้องการเปลี่ยนเส้นทางอย่างง่ายไปยังโดเมนใหม่ abc.example.com ควรเปลี่ยนเส้นทางซึ่งจะทำงานเมื่อมีคนพิมพ์ในแถบเบราว์เซอร์http://xy.example.com/team.php - กว่าที่ shoul จะเปลี่ยนเส้นทางไปที่http://abc.example.com/team.php ฉันลองอะไรมาบ้างแล้ว แต่มันไม่ได้ผลจริงๆ ฉันต้องใส่อะไรใน Apache 2 config

4
เปลี่ยนเส้นทางคำขอ HTTP ทั้งหมดที่อยู่เบื้องหลัง Amazon ELB เป็น https โดยไม่ต้องใช้หาก
ขณะนี้ฉันมี ELB ให้บริการทั้งhttp://www.example.orgและhttps://www.example.org ผมอยากจะตั้งขึ้นเพื่อชี้คำขอใด ๆ ที่จะhttp://www.example.orgคือการเปลี่ยนเส้นทางไปhttps://www.example.org ELB ส่งคำขอ https เป็นคำขอ http ดังนั้นการใช้: server { listen 80; server_name www.example.org; rewrite ^ https://$server_name$request_uri? permanent; } จะไม่ทำงานเนื่องจากคำขอที่ส่งไปยังhttps://www.example.orgจะยังคงถูกส่งไปยังพอร์ต 80 บน nginx ฉันรู้ว่าเป็นไปได้ที่จะเขียนใหม่เป็น server { listen 80; server_name www.example.org; if ($http_x_forwarded_proto != "https") { rewrite ^(.*)$ https://$server_name$1 permanent; } } แต่ทุกสิ่งที่ฉันได้อ่านบอกว่าifควรหลีกเลี่ยงค่าใช้จ่ายทั้งหมดภายในการกำหนดค่า nginx และนี่จะเป็นสำหรับทุกคำขอเดียว นอกจากนี้ยังหมายความว่าฉันต้องตั้งค่าการแยกต่างหากเป็นพิเศษสำหรับการตรวจสุขภาพ ( …

3
Nginx - วิธีเปลี่ยนเส้นทางผู้ใช้ด้วย IP ที่แน่นอนไปยังหน้าพิเศษ
ฉันเรียกใช้แกลเลอรี่ภาพขนาดใหญ่และมีผู้เยี่ยมชม 5 คนที่สร้างปริมาณการเข้าชมจำนวนมหาศาลด้วยการดาวน์โหลดเว็บไซต์ทั้งหมดทุกวันโดยใช้เว็บแคช ผู้เยี่ยมชมเหล่านั้นมี IP คงที่ตามที่ปรากฏ สิ่งที่ฉันต้องการทำให้สำเร็จคือ IP ทั้ง 5 ตัวนั้นถูกเปลี่ยนเส้นทางไปยังหน้าเว็บบางหน้า (ซึ่งอธิบายว่าทำไมพฤติกรรมของพวกเขาจึงเป็นปัญหา) ทันทีที่พวกเขาเข้าชมเว็บไซต์ ผู้เยี่ยมชมคนอื่น ๆ ควรจะสามารถเรียกดูเว็บไซต์ได้ตามปกติ เซิร์ฟเวอร์กำลังเรียกใช้ CentOS (5.8) และ nginx (1.0.15) เป็นเว็บเซิร์ฟเวอร์ มีวิธีใดบ้างที่จะบรรลุเป้าหมายนี้โดยรายการใน nginx.conf ที่คุณทราบ? ขอบคุณล่วงหน้าสำหรับคำแนะนำและการสนับสนุนของคุณ! ขอแสดงความนับถือ -Alex
26 nginx  ip  redirect 

2
วิธีที่ดีที่สุดในการเปลี่ยนเส้นทาง HTTP ทั้งหมดไปยัง HTTPS ใน IIS
เราต้องการให้ทุกไซต์บนเว็บเซิร์ฟเวอร์ของเรา (IIS 10) บังคับใช้ SSL (เช่นเปลี่ยนเส้นทาง HTTP เป็น HTTPS) ขณะนี้เรากำลัง 'ขอ SSL' ในแต่ละไซต์และตั้งค่า403 errorตัวจัดการเพื่อดำเนินการ302 redirectกับที่อยู่ https สำหรับเว็บไซต์นั้น ๆ มันใช้งานได้ดี แต่มันเป็นความเจ็บปวดที่ต้องทำสำหรับทุก ๆ เว็บไซต์มีที่ว่างมากมายสำหรับความผิดพลาดของมนุษย์ นึกคิดฉันต้องการที่จะตั้งขึ้นอย่างถาวร301 redirectในทุกHTTP://*การHTTPS://* มีวิธีง่าย ๆ ใน IIS หรือไม่

4
ฉันจะเปลี่ยนเส้นทาง www ไปที่ไม่ใช่ www ใน Route53 ได้อย่างไร
domain.comฉันโฮสต์เว็บไซต์ของฉันที่ รายการ DNS ของฉันใน Route53 มีดังนี้: domain.com A xxx.xxx.xxx.xxx 300 domain.com NS stuff.awsdns-47.org 172800 domain.com SOA stuff.awsdns-47.org 900 ฉันต้องการเปลี่ยนเส้นทางการรับส่งข้อมูลจากwww.domain.comไปยังdomain.comเนื่องจากปัจจุบันแค่คืน 404 คำถามนี้เกี่ยวกับ SO จึงแนะนำให้PTRบันทึกและฉันเพิ่มว่า: www.domain.com PTR domain.com 300 แต่มันไม่ทำงาน ฉันควรทำยังไงดี?

4
วิธีเปลี่ยนเส้นทาง stdout ไปยังไฟล์ต่อไปหลังจากที่ logrotate ทำการย้ายมัน
ฉันมีสคริปต์ง่าย ๆ ซึ่งส่งออกเป็นกลุ่มของบันทึกไปยังหน้าจอและฉัน pip STDOUT ไปยังไฟล์เพื่อเก็บบันทึก เนื่องจากสคริปต์นี้ใช้งานได้นานฉันจึงต้องหมุนไฟล์บันทึกเพื่อให้ไฟล์เหล่านั้นถูกจับให้เล็กลงและจัดการได้ง่ายขึ้น ปัญหาที่ฉันพบคือเมื่อlogrotateย้ายไฟล์บันทึกปัจจุบันไปยังไฟล์ใหม่ไฟล์บันทึกที่สร้างขึ้นใหม่จะไม่ได้บรรจุด้วยบันทึกอีกต่อไป ดูเหมือนว่าเมื่อไฟล์บันทึกดั้งเดิมถูกลบแล้วตัวจัดการไฟล์จะหายไปและการเปลี่ยนเส้นทางจะไม่ทำงานอีกต่อไป ฉันพบโพสต์นี้ซึ่งมีปัญหาเช่นเดียวกับฉันและอ้างว่าสามารถแก้ไขได้โดยใช้>>แทน>การเปลี่ยนเส้นทางเอาต์พุต ฉันทดสอบวิธีการแก้ปัญหาของเขา แต่มันไม่ได้ผลสำหรับฉัน ใครบ้างมีความคิดวิธีการทำให้การเปลี่ยนเส้นทางทำงานได้หรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.