ฉันจะเปลี่ยนชื่อไฟล์เป็น. htaccess ใน Windows 7 ได้อย่างไร


62

ฉันใช้ XAMPP เพื่อทดสอบสคริปต์ PHP ตอนนี้ในรูทของโฟลเดอร์ฉันต้องการวาง.htaccessไฟล์ตามข้อกำหนดของสคริปต์

แต่ Windows .htaccessจะไม่ยอมให้ผมเปลี่ยนชื่อเป็น มีวิธีใดบ้างที่จะไปรอบ ๆ มัน?

ฉันใช้ Windows 7 RTM



คำตอบ:


78

ลิงก์นี้อธิบายถึงปัญหาเดียวกันใน XP

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

แก้ไข:

มันเริ่มต้นจากข้อเท็จจริงที่ว่า Windows จะให้คุณสร้างhtaccess.txtไฟล์
จากนั้น

Start Run > cmd

จากนั้นพิมพ์

rename c:\pathtoyourhtaccessfile\htaccess.txt .htaccess

จะทำเคล็ดลับ


7
ฮ่า ๆ นั่นเป็นอีกเรื่องแปลกที่เกิดจาก Windows!
Ahmad Alfy

83

ขอบคุณhttps://serverfault.com/questions/22626/rename-files-to-empty-filename-in-windows-vistaฉันเรียนรู้เคล็ดลับใหม่ เนื่องจากหน้านี้ปรากฏใน Google สูงขึ้นสำหรับข้อความแสดงข้อผิดพลาดฉันจึงคิดว่าฉันจะลิงก์ที่นี่ด้วย

เป็นหลักถ้าคุณต้องการที่จะทำใน explorer ชื่อมัน. htaccess ด้วยจุดต่อท้าย จุดต่อท้ายจะบอก Windows ว่าส่วนขยายควรเป็นอะไรและจุดเริ่มต้นและตัวอักษรบอกว่าชื่อไฟล์ (ไม่มีส่วนขยาย) ควรเป็นอะไร ปรากฏว่าอนุญาตให้ใช้ไฟล์ที่ไม่มีนามสกุล แต่ไม่มีไฟล์ที่ไม่มีนามสกุล โชคดีที่ไฟล์ที่ไม่มีนามสกุลไม่ต้องมีจุดดังนั้นเราจึงได้รับการลบที่สร้างชื่อไฟล์ที่เราต้องการ (ซึ่งเป็นเพียงส่วนขยาย - ดูประเภทไฟล์ที่ Windows รายงานหรือไม่)

คุณสามารถทำได้ด้วยสตริงใด ๆ ไม่ใช่แค่ htaccess มันสมเหตุสมผลดีสำหรับฉันเพราะไฟล์ที่ขึ้นต้นด้วยจุดมีความหมายพิเศษ


1
นี่เป็นข้อบกพร่องหรือคุณสมบัติหรือไม่?
etuardu

3
มันเป็นข้อผิดพลาดจนกว่าจะมีคนพบการใช้งานแล้วมันเป็นคุณสมบัติ ... ตอนนี้มันเป็นคุณสมบัติอย่างเป็นทางการแล้ว :)
jx12345

1
เยี่ยมมากคุณสามารถพิมพ์ได้.filename.และมันจะกลายเป็น.filename
Daniel Little

9

อย่าสร้างไฟล์ใน Windows Explorer สร้างในโปรแกรมที่คุณใช้ (notepad, vim, eclipse) จากนั้นเลือก "บันทึกเป็น" และตรวจสอบให้แน่ใจว่าได้เลือก "ไฟล์ทั้งหมด" แล้ว พิมพ์ใน. htaccess มันควรจะทำงาน

ไฟล์ทั้งหมดคือการป้องกันไม่ให้โปรแกรมเพิ่มนามสกุลไฟล์ประเภทอัตโนมัติ (เช่น. htaccess.txt)


6

สิ่งหนึ่งที่คุณสามารถทำได้คือใช้ไฟล์อื่นเป็น.htaccessไฟล์

เปิดhttpd.confหรือตั้งค่า XAMPP ใด ๆ เรียกไฟล์การกำหนดค่า Apache

ค้นหาบรรทัดที่ขึ้นต้นด้วยAccessFileNameและเปลี่ยนค่าในตอนท้ายให้เป็นสิ่งที่ Windows จะอนุญาตให้คุณบันทึกเป็น

AccessFileName htaccess.txt

หากคุณไม่พบบรรทัดนั้นเพียงเพิ่มข้างบน

จากนั้นรีสตาร์ท XAMPP ของคุณ

คุณจะต้องจำไว้ว่าให้เปลี่ยนชื่อเมื่อคุณอัปโหลดไปยังเว็บไซต์สด


7
บางทีคำตอบนี้อาจใช้วิธีการ "ไปรอบ ๆ มัน" อย่างแท้จริง
สุ่ม

IMHO นี่เป็นคำตอบที่ง่ายที่สุด โปรดทราบว่าเมื่อคุณอัปโหลดไซต์ของคุณคุณจะต้องอยู่บนเซิร์ฟเวอร์ที่แตกต่างออกไป หมายความว่าคุณอาจต้องการใช้การกำหนดค่าอื่นที่นั่น ส่วนใหญ่คุณเพียงแค่ปล่อยให้ไฟล์เหล่านี้ไม่ถูกแตะต้องเมื่อคุณอัปโหลดและสร้างชุดแยกสำหรับเซิร์ฟเวอร์ของคุณ ฉันขอแนะนำว่าหากคุณกำลังพัฒนาบน Win และอัปโหลดไปยังเซิร์ฟเวอร์ Lin คุณเปลี่ยนการตั้งค่านี้บนเซิร์ฟเวอร์ด้วยเพื่อให้สามารถแก้ไขใน Win ได้เช่นกัน แต่ให้ชื่อเซิร์ฟเวอร์อื่น (เช่นhtaccess.dev.confและhtaccess.prod.confจะเป็น ดี).
krowe2

อีกอย่างที่ต้องพูดถึงคือhttp.confไฟล์ส่วนใหญ่มีไฟล์ไม่กี่บรรทัดเพื่อป้องกันการดาวน์โหลดไฟล์เหล่านี้ ... <Files ".ht*"> Require all denied </Files>... เปลี่ยน<Files "ht*.*.conf"> Require all denied </Files>เป็นเก็บไฟล์เหล่านี้ไม่สามารถดาวน์โหลดได้ (อย่าลืมใส่บรรทัดใหม่ที่หายไปกลับมานี่คือ ความคิดเห็นเพื่อให้ฉันลบพวกเขา)
krowe2

อีกอย่างที่ต้องพูดถึงคือถ้าคุณใช้การรับรองความถูกต้องพื้นฐานคุณจะต้องใช้รูปแบบการตั้งชื่อที่คล้ายกันสำหรับ.htpasswdไฟล์ของคุณเพื่อให้พวกเขายังคงซ่อนอยู่เช่นกัน
krowe2

4

ฉันคิดว่าในวัน Windows XP เก่ามันก็เพียงพอที่จะเพียงแค่พูดชื่อไฟล์? เครื่องหมายคำพูดเหล่านั้นจะถูกลบโดย Windows ดังนั้นเปลี่ยนชื่อเพื่อบันทึกไฟล์เป็น:

".htaccess"

นี้ก็จะทำงานเฉพาะเมื่อการประหยัดจากการพูด, Notepad แล้วยังช่วยให้เริ่มต้น.txtจากการถูกเพิ่ม ฉันไม่แน่ใจ 100% ว่ามันยังใช้งานได้ใน Windows Explorer ใน Windows XP มันไม่ทำงานจาก Windows Explorer เนื่องจากไม่สามารถพิมพ์เครื่องหมายคำพูดได้ และถ้าไม่มีเครื่องหมายอัญประกาศมันจะให้ "คุณต้องพิมพ์ชื่อไฟล์" เพราะมันไม่ชอบจุดนำ ข้อผิดพลาดเดียวกันเมื่อใช้กล่องโต้ตอบตามที่แสดงโดยใช้คลิกขวา»คุณสมบัติ)


4

เพียงตั้งชื่อมัน.htaccess.จุดสิ้นสุดจะถูกลบโดยอัตโนมัติโดย Windows โดยปล่อยให้ตั้งชื่อ.htaccessตามที่ควรจะเป็น


3
นี่เป็นคำตอบที่ซ้ำซ้อนจากเมื่อหนึ่งปีที่แล้ว
ทิม Pietzcker

1
"แน่นอน"? ไม่เลยฉันมองหาคำตอบสำหรับปัญหานี้แล้วก็หาคำตอบด้วยตัวเอง แต่เนื่องจากฉันไม่เคยเห็นใครพูดแบบนี้มาก่อนเลยฉันค้นหาที่นี่เพื่อหาคำถามนี้ดังนั้นฉันจึงมั่นใจได้ว่าใครก็ตามที่ต้องการทราบข้อมูล คำตอบที่ได้รับการยอมรับคือคำตอบที่น้อยกว่าดังนั้นฉันโพสต์ ไม่ได้สังเกตอีกอันหนึ่ง ผู้ถามควรเปลี่ยนคำตอบที่ยอมรับได้แม้ว่าจะเป็นคำตอบที่ดีกว่า
zeel

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

2
FWIW ฉันไม่ได้ลงคะแนน แต่ในความคิดของฉันคุณควรลบคำตอบของคุณออกเพราะคำตอบอื่นดีกว่ามาก: มันไม่เพียง แต่พูดว่า "มันวิเศษ!" แต่อธิบายว่าทำไมมันถึงได้ผล และคุณอยู่กับคุณประมาณหนึ่งปี
ทิม Pietzcker

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