จะย้ายเว็บไซต์ของฉันจากโฟลเดอร์ย่อยไปยังรูทได้อย่างไร


12

ฉันมีเว็บไซต์ joomla และติดตั้งในโฟลเดอร์ย่อยในบัญชีโฮสติ้งของฉัน

ดังนั้นถ้าผมต้องการที่จะเข้าถึงเว็บไซต์ของฉันฉันต้องพิมพ์www.mysite.com/joomla ฉันต้องการที่จะสามารถเข้าถึงหน้าแรกของเว็บไซต์โดยตรงกับโดเมนของฉันwww.site.com

ทำอย่างไร

คำตอบ:


14

นี่คือขั้นตอนที่จำเป็นในการย้ายไซต์ joomla จากโฟลเดอร์ย่อยไปยังรูท:

  1. ใช้ไคลเอนต์ FTP และเชื่อมต่อกับบัญชีโฮสต์ของคุณผ่าน FTP หรือใช้ตัวจัดการไฟล์ที่ควรจะมีอยู่ในแผงควบคุมของบัญชีโฮสต์ของคุณ
  2. นำทางไปยังโฟลเดอร์ที่ Joomla อยู่ (root / joomla)
  3. ค้นหาไฟล์ configuration.php ดาวน์โหลดและเปิดด้วยโปรแกรมแก้ไขข้อความ (ไม่ใช่ซอฟต์แวร์ประมวลผลคำเช่น ms word)
  4. คุณกำลังมองหาบรรทัดต่อไปนี้:

    var $live_site = '';
    var $log_path = '/home/username/public_html/joomla/logs';
    var $tmp_path = '/home/username/public_html/joomla/tmp';
    var $ftp_root = 'public_html/joomla';
    

    เปลี่ยนไป:

    var $live_site = '';
    var $log_path = '/home/username/public_html/logs';
    var $tmp_path = '/home/username/public_html/tmp';
    var $ftp_root = 'public_html';
    

หาก$live_siteตัวแปรมีค่า:
เช่น$live_site = 'http://www.site.com/joomla';

จากนั้นปรับเช่น:
$live_site = 'http://www.site.com';

  1. บันทึก configuration.php และอัปโหลดกลับไปยังตำแหน่งก่อนหน้า
  2. ตรวจสอบไฟล์ชื่อ. htaccess หากมีให้แก้ไขได้เช่นกัน คุณกำลังมองหาบรรทัดต่อไปนี้:

    RewriteBase /joomla เปลี่ยนไป: RewriteBase /

* แทนที่จะเป็น joomla คาดว่าจะเห็นชื่อโฟลเดอร์ย่อยของจริงของคุณซึ่ง joomla อยู่

  1. นำทางกลับไปยังโฟลเดอร์รูทของคุณ หากมีไฟล์และโฟลเดอร์ของไซต์เก่าแนะนำให้สร้างโฟลเดอร์ใหม่ตั้งชื่อบางอย่างเช่น "ไซต์เก่า" และวางไฟล์ทั้งหมดในโฟลเดอร์นี้
  2. ตอนนี้สิ่งที่คุณต้องทำคือการย้ายไฟล์ / โฟลเดอร์ของการติดตั้ง Joomla ไปยังโฟลเดอร์ราก
  3. หลังจากการย้ายเสร็จสิ้นให้ล็อกอินไปยังผู้ดูแลระบบและล้างแคชของ Joomla ไปที่ระบบ -> ล้างแคชและล้างไฟล์แคช
  4. ตรวจสอบส่วนหน้าของเว็บไซต์ของคุณ
  5. หากทุกอย่างทำงานได้ดี - อย่าลืมลบไฟล์ของเว็บไซต์เก่าถ้าคุณไม่ต้องการมันอีกต่อไป

5

เพียงเล็กน้อยเพิ่มเติมที่นี่ คนส่วนใหญ่ไม่จำเป็นต้องทำเช่นนี้เพราะพวกเขาไม่เคยสัมผัสไฟล์robots.txtอย่างไรก็ตามหากคุณมีสิ่งต่อไปนี้:

User-agent: *
Disallow: /joomla/administrator/
Disallow: /joomla/bin/
Disallow: /joomla/cache/
Disallow: /joomla/cli/
Disallow: /joomla/components/
Disallow: /joomla/includes/
Disallow: /joomla/installation/
Disallow: /joomla/language/
Disallow: /joomla/layouts/
Disallow: /joomla/libraries/
Disallow: /joomla/logs/
Disallow: /joomla/modules/
Disallow: /joomla/plugins/
Disallow: /joomla/tmp/

จากนั้นคุณต้องลบ/joomlaคำนำหน้าที่จุดเริ่มต้นของแต่ละพา ธ


5

หากคุณมีสิทธิ์เข้าถึงเชลล์ไปยังโฮสต์ของคุณคุณควรจัดเก็บการติดตั้ง Joomla ไว้ภายนอกเว็บรูทและเชื่อมโยงเข้าด้วยวิธีนี้คุณสามารถควบคุมการติดตั้งหรือสลับระหว่างเวอร์ชันการผลิต / การผลิตได้อย่างง่ายดาย

การใช้สิ่งนี้กับโดเมนย่อยยังทำให้กระบวนการทดสอบเวอร์ชันใหม่ง่ายขึ้นมาก


คุณช่วยอธิบายเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ไหม? อาจมีคำถามใหม่ & คำตอบโพสต์เกี่ยวกับวิธีการบรรลุเป้าหมายนี้มันอาจจะน่าสนใจสำหรับผู้ใช้หลายคน
johanpw

SE ดูเหมือนจะไม่ชอบชื่อที่เป็นไปได้สำหรับคำถามดังนั้นฉันจะต้องดำเนินการต่อ แต่ฉันได้อธิบายขั้นตอนนี้ในคำตอบอื่นที่นี่: joomla.stackexchange.com/q/4145/58
Jeremy Proffitt

3

ทางที่ดีที่สุดคือเปลี่ยนโฟลเดอร์รูทที่ได้รับมอบหมายของเว็บไซต์ของคุณบนเว็บโฮสติ้งของคุณ ฉันทำสิ่งนี้เพื่อที่ฉันจะสามารถสร้างเว็บไซต์ใหม่ของฉันและบันทึก / รักษาเวอร์ชันเก่าไว้ สิ่งที่ฉันต้องทำคือเปลี่ยน "Document Root" ของโดเมนเป็นโฟลเดอร์ใหม่ทุกครั้งที่ฉันปล่อยรุ่นใหม่ หลีกเลี่ยงการเปลี่ยนเส้นทางเว็บไซต์ของคุณการค้นหาของ Google ไม่ชอบเลย


2

ฉันสงสัยว่าทำไมไม่มีใครแนะนำให้ใช้ส่วนประกอบAkeeba Backupและสคริปต์Akeeba Kickstart สำหรับผู้ใช้บางคนมันอาจเป็นวิธีที่ง่ายกว่าเช่นเดียวกับที่ FFrewin แนะนำ Akeeba ทำทุกอย่างให้โดยอัตโนมัติ

ทั้งสองอย่างนั้นฟรี (ในเวอร์ชั่นพื้นฐานคุณไม่จำเป็นต้องมีมืออาชีพ) คุณสามารถดาวน์โหลดได้โดยตรงบน AkeebaBackup.com/download

ขั้นตอนที่จำเป็นคือ:

  1. ติดตั้ง Akeeba Backup
  2. ตั้งค่าการสำรองข้อมูล Akeeba มีการตั้งค่าอัตโนมัติเพียงคลิกเดียวหลังจากคุณเปิดส่วนประกอบในการจัดการ Joomla ของคุณ
  3. สำรองข้อมูลเว็บไซต์ของคุณผ่าน Akeeba Backup
  4. ดาวน์โหลดข้อมูลสำรองของคุณ (ไฟล์. jpa)
  5. อัปโหลดสำเนาสำรองของคุณไปยังตำแหน่งใหม่บน FTP ของคุณ (ไม่ว่าจะเป็นโฮสต์ที่แตกต่างกันหรือเพียงแค่โฟลเดอร์อื่นคุณสามารถย้ายเว็บไซต์ของคุณได้ทุกที่แม้กระทั่งโฮสต์ในพื้นที่)
  6. แกะ Akeeba Kickstart และอัปโหลดไฟล์ kickstart.php ไปยังตำแหน่งเดียวกันกับที่คุณอัปโหลดไฟล์. jpa
  7. ในเบราว์เซอร์ของคุณโดยตรงไปที่ http: //newlocation.xy/kickstart.php
  8. Akeeba Kickstart จะเปิดขึ้นเลือกวิธีการโดยตรง
  9. ผ่านกระบวนการทั้งหมดและกรอกข้อมูลในฟิลด์ที่จำเป็น (เช่นเดียวกับการติดตั้ง Joomla ใหม่)
    • การตั้งค่าการเชื่อมต่อฐานข้อมูล (เซิร์ฟเวอร์, ชื่อ, รหัสผ่าน) - หากคุณต้องการเก็บฐานข้อมูลเดียวกันกับที่คุณมีอยู่ให้ใช้คำนำหน้าตารางอื่น
    • การตั้งค่าเว็บไซต์ - ตั้งค่า URL สดใหม่รวมถึง http: // ซึ่งเป็นสิ่งสำคัญที่สุด นอกจากนี้คุณยังสามารถเปลี่ยนรหัสผ่าน superadmin และตั้งค่าบัญชี FTP ใหม่ได้)
    • เมื่อทุกอย่างเสร็จสิ้นให้คลิก "ลบโฟลเดอร์การติดตั้ง"
  10. หากไซต์ใหม่ใช้งานได้คุณสามารถลบไซต์ของคุณในตำแหน่งก่อนหน้าและตารางฐานข้อมูลเก่า (ควรมีส่วนนำหน้าอื่นหรืออยู่ในฐานข้อมูลแยกต่างหาก)

ก่อนที่จะลบการติดตั้งครั้งก่อนตรวจสอบให้แน่ใจว่าการติดตั้งใหม่ของคุณใช้งานได้จริง ไฟล์สำรองของคุณอาจเสียหายจากการดาวน์โหลดหรืออะไรก็ตามและคุณอาจไม่สามารถติดตั้งข้อมูลสำรองได้

ฉันรู้ด้วยเช่นกันว่านี่มันดูซับซ้อนกว่านี้นิดหน่อย แต่ก็ไม่ใช่ฉันเชื่อว่ามันง่ายกว่าและเร็วกว่า - การคัดลอกไฟล์หลายพันไฟล์ (ทั้ง Joomla) จากตำแหน่ง FTP ของคุณไปยังคอมพิวเตอร์ของคุณและอัพโหลดไปยังตำแหน่ง FTP ใหม่ ใช้เวลาหลายชั่วโมง ด้วย Akeeba คุณสามารถใช้งานได้ในเวลาไม่ถึงหนึ่งชั่วโมง (ขึ้นอยู่กับขนาดของเว็บไซต์ Joomla ของคุณ)


ไม่มีใครแนะนำ Akeeba เพราะคำถามเกี่ยวกับการย้ายการติดตั้งจากไดเรกทอรีย่อยที่รูทของโฮสติ้งเดียวกัน
FFrewin

ยังคุณสามารถใช้ Akeeba ได้ มันเป็นแค่ตัวเลือกอื่น
TeeJay

1
แน่นอนว่ามันเป็นตัวเลือก แต่สิ่งที่คุณอธิบายในคำตอบของคุณนั้นเหมือนกับการไปจากปารีสไปลอนดอนผ่านโตเกียว ขั้นตอนทั้งหมดนี้ไม่จำเป็น คุณกล่าวว่าคุณสามารถทำงานในเวลาไม่ถึงชั่วโมงเมื่อกระบวนการจริงควรใช้เวลาสองสามนาทีและไม่จำเป็นต้องยุ่งกับฐานข้อมูลเลย
FFrewin

ฉันชอบที่จะใช้ Akeeba สำหรับสถานการณ์เช่นนี้ด้วยตัวเองเนื่องจากสคริปต์ตัวติดตั้ง Akeeba นั้นเขียนขึ้นโดยเฉพาะเพื่อปรับเปลี่ยนสิ่งต่างๆเช่นเส้นทาง tmp และแคชและอื่น ๆ ในการกำหนดค่าและคุณจะได้รับประโยชน์เพิ่มเติมจากการสำรองข้อมูลเต็มรูปแบบ หนึ่งชั่วโมงเป็นกระบวนการที่ไกลเกินกว่าที่ใช้จริงถ้าคุณใช้ตัวจัดการไฟล์ Cpanel เพื่อย้ายไฟล์บนเซิร์ฟเวอร์เอง คุณทำการสำรองข้อมูลซึ่งใช้เวลาน้อยกว่า 2 นาทีสำหรับไซต์ส่วนใหญ่ การย้ายไฟล์คือ 30 วินาทีปรับใช้กับรูทประมาณหนึ่งนาทีหรือ 2 และไม่มีการตรวจสอบพา ธ ไฟล์แต่ละไฟล์เพื่อแก้ไข
Toni Marie

นี่เป็นวิธีแก้ปัญหาที่เป็นไปได้ แต่ฉันคิดว่า Akeeba Backup นั้นเกินความจำเป็นเช่นกระบวนการง่าย ๆ ที่ไม่ต้องใช้ส่วนขยายใด ๆ การใช้ Akeeba หมายความว่าคุณจำเป็นต้องสร้างการสำรองข้อมูลดาวน์โหลดตั้งค่าเริ่มต้นโดยทั่วไปแล้วติดตั้ง Joomla อีกครั้ง (เพื่อพูด) ค่อนข้างนานเมื่อคุณสามารถย้ายโฟลเดอร์โดยใช้โฮสติ้ง File Manager ของคุณและปรับแต่งสองบรรทัดใน config
Lodder

2

หากคุณต้องการเปลี่ยนเส้นทาง localhost ไปที่โฟลเดอร์ย่อยแทนที่จะเป็นโฟลเดอร์รูทเช่น

/var/www/subfolder

จากนั้นคุณต้องทำการกำหนดค่านี้ที่เซิร์ฟเวอร์ เปิดไฟล์ที่เส้นทางต่อไปนี้:

/etc/apache2/sites-enabled/000-default.conf

จากนั้นคุณต้องเปลี่ยนรูทพา ธ ของโฟลเดอร์ดังนี้:

ServerAdmin webmaster@localhost
DocumentRoot /var/www/subfolder

ตอนนี้ถ้าคุณจะเรียกใช้ localhost แล้วมันจะเปิดไฟล์ของโฟลเดอร์ย่อย


คำตอบนี้ดูเหมือนจะเป็นประโยชน์สำหรับผู้ใช้ Linux ที่มีเซิร์ฟเวอร์ Apache ในการแจกจ่ายเฉพาะเช่น Ubuntu ยิ่งกว่านั้นถ้ารูทนั้นมีโฟลเดอร์ย่อยเพียงอย่างเดียวก็ควรย้ายโฟลเดอร์ย่อยไปยังรูท
Farahmand

0

Akeeba Backup ทำงานได้ดี หากคุณมีไซต์ joomla ก่อนหน้าติดตั้งในรูทของคุณแล้วให้แน่ใจว่าได้ลบโฟลเดอร์ joomla ในรูทก่อนที่จะย้ายไซต์ใหม่ไปที่รูท

ฉันจะแนะนำให้เข้าไปยัง cpanel-> myPHP admin และส่งออกฐานข้อมูลของคุณเพื่อทำการสำรองข้อมูลอีกชั้นหนึ่ง ไฟล์สำรอง Akeeba มีฐานข้อมูลของคุณดังนั้นนี่จึงเป็นความซ้ำซ้อน

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