ไฟล์. htaccess เริ่มต้นสำหรับ WordPress หรือไม่


15

.htaccessไฟล์ของฉันกำลังสกัดกั้น.htaccessไฟล์ของเวิร์ดเพรส

โมดูลใดและการตั้งค่า.htaccessใดที่จำเป็นสำหรับ WordPress เพื่อให้ทำงานได้? ฉันจะหา.htaccessไฟล์เริ่มต้นของ WordPress ได้จากที่ไหน?


มีบทความ codex WordPress เกี่ยวกับhtaccessไฟล์
Nicolai

คำตอบ:


24

นี่คือรหัสเริ่มต้นสำหรับไฟล์นั้น

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

คุณสามารถตรวจสอบได้ที่นี่เพื่อหาไฟล์ htaccess ที่เป็นค่าเริ่มต้น

http://codex.wordpress.org/Using_Permalinks

ขอบคุณ ฉันหวังว่ามันจะช่วยเพียงเล็กน้อย


โปรดดูการแชทที่นี่เกี่ยวกับเรื่องนี้

6

WordPress ไม่มี.htaccessในรูปแบบไฟล์

กฎระเบียบที่จะถูกเขียนลงในไฟล์โดยฟังก์ชั่นและจะถูกสร้างโดยsave_mod_rewrite_rules()$wp_rewrite->mod_rewrite_rules()

โปรดทราบว่าการติดตั้งหลายไซต์มีกฎ (ซับซ้อนมากกว่า) ที่แตกต่างกันและดูเหมือนว่าจะจัดการแตกต่างกัน


+1 สำหรับทิศทางที่ถูกต้อง โปรดตรวจสอบว่าฉันเข้าใจปัญหาถูกต้องหรือไม่ด้วยคำตอบของฉัน ฉันคิดว่าสิ่งสำคัญคือเพียงใช้ Rewrite_WP API ไม่ใช่เพื่อสร้างล้อใหม่ด้วยไฟล์. htaccess -files ส่วนตัว


0

ใช้ #wordpress Freenode /topicหาเอกสารที่เหมาะสมมักจะอยู่ใน ที่นั่นฉันพบกุญแจสำคัญClass WP_Rewrite ที่นี่ wordpress.org อย่างเป็นทางการอยู่ที่การหลอกลวงและการตลาดที่ดีที่สุด อย่างไรก็ตามอย่าผสมกฎการเขียนซ้ำของ Apache กับกฎการเขียนซ้ำของ WP แม้ว่าการตั้งชื่อ WP อาจมาจากการเทียบเท่าของ Apache

สถานะ WP_Rewrite API

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

ดังนั้นคุณต้องใช้ API เพื่อทำการเปลี่ยนแปลงไม่แน่ใจว่ามันหมายถึงอะไร แต่ฉันคิดว่ามันหมายความว่าคุณไม่สามารถไว้วางใจในไฟล์. htaccess -files ที่ฮาร์ดโค้ดของคุณสิ่งต่าง ๆ อาจเปลี่ยนแปลงได้แม้ใน WD -versions ที่แตกต่างกัน! ดังนั้นใช้ API

intercepting

รหัสที่นี่มีเงื่อนไขบางอย่างหาก. htaccess -file มีอยู่ - ไม่ใช่ 100% ของการอ้างถึงเนื่องจากไม่มีเอกสารที่ดีและไม่เข้าใจการตั้งชื่อที่นั่น แต่ข้อความกลางน่าจะเป็นวิธีที่ปลอดภัยในการดูแลกฎการเขียนซ้ำคือการใช้ WP_Rewrite API, WP อาจเปลี่ยนแปลงได้ในอนาคต

ตัวอย่างเช่น Apache-rewrite ง่าย ๆRewriteRule ^hello$ Layouts/hello.html [NC,L]ดูเหมือนว่าadd_rewrite("^hello$", "Layouts/hello.html")ยังไม่ได้ทดสอบ แต่พยายามติดตาม API ด้านล่าง:

add_rewrite_rule (line 19)
Add a straight rewrite rule.

see: WP_Rewrite::add_rule() for long description.
since: 2.1.0
void add_rewrite_rule (string $regex, string $redirect, [string $after = 'bottom'])
string $regex: Regular Expression to match request against.
string $redirect: Page to redirect to.
string $after: Optional, default is 'bottom'. Where to add rule, can also be 'top'.

ที่เกี่ยวข้อง

  1. http://codex.wordpress.org/Rewrite_API/add_rewrite_rule

  2. http://pmg.co/a-mostly-complete-guide-to-the-wordpress-rewrite-api

  3. ขอบคุณ toscho ที่ช่วยเหลือที่นี่มีการพูดคุยเล็ก ๆ ในการแชท


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