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

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

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

8
วิธีการดีบัก. htaccess RewriteRule ไม่ทำงาน
ฉันมีRewriteRuleใน.htaccessแฟ้มที่ไม่ได้ทำอะไร ฉันจะแก้ไขปัญหานี้ได้อย่างไร ฉันจะตรวจสอบได้อย่างไรว่า.htaccessApache กำลังอ่านและปฏิบัติตามไฟล์อยู่หรือไม่ ฉันสามารถเขียนข้อความสะท้อน "มันใช้งานได้" ได้ไหมถ้าฉันเขียนมันบรรทัดนั้นจะสะท้อนออกมาที่ไหน หาก.htaccessไม่ได้ใช้ไฟล์จะทำให้ Apache ใช้งานได้อย่างไร? หาก.htaccessกำลังใช้งานอยู่ แต่ของฉันRewriteRuleยังไม่มีเอฟเฟกต์ฉันจะแก้ไขข้อบกพร่องได้อย่างไร

10
จะลบ. html จาก URL ได้อย่างไร
จะลบออก.htmlจาก URL ของเพจคงได้อย่างไร? นอกจากนี้ฉันต้องเปลี่ยนเส้นทาง URL ใด ๆ.htmlไปยังURL ที่ไม่มี (กล่าวคือwww.example.com/page.htmlถึงwww.example.com/page).
114 html  .htaccess 

5
เปิดใช้งานการแสดงข้อผิดพลาดใน PHP ผ่าน htaccess เท่านั้น
ฉันกำลังทดสอบเว็บไซต์ออนไลน์ ขณะนี้ข้อผิดพลาดไม่ปรากฏขึ้น (แต่ฉันรู้ว่ามีอยู่) ฉันสามารถเข้าถึงได้เฉพาะ.htaccessไฟล์ ฉันจะสร้างข้อผิดพลาดทั้งหมดเพื่อแสดงโดยใช้.htaccessไฟล์ของฉันได้อย่างไร ฉันเพิ่มบรรทัดเหล่านี้ลงใน.htaccessไฟล์ของฉัน: php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on และตอนนี้หน้าจะแสดง: ข้อผิดพลาดภายในเซิร์ฟเวอร์

5
วิธีปฏิเสธการเข้าถึงไฟล์ใน. htaccess
ฉันมีไฟล์. htaccess ต่อไปนี้: RewriteEngine On RewriteBase / # Protect the htaccess file <Files .htaccess> Order Allow,Deny Deny from all </Files> # Protect log.txt <Files ./inscription/log.txt> Order Allow,Deny Deny from all </Files> # Disable directory browsing Options All -Indexes ฉันพยายามห้ามไม่ให้ผู้เยี่ยมชมเข้าถึงไฟล์ต่อไปนี้: domain.com/inscription/log.txt แต่สิ่งที่ฉันมีข้างต้นใช้ไม่ได้: ฉันยังสามารถเข้าถึงไฟล์จากเบราว์เซอร์จากระยะไกลได้
112 .htaccess 

17
วิธีตรวจสอบว่าเปิดใช้งาน mod_rewrite บนเซิร์ฟเวอร์หรือไม่
ฉันกำลังใช้โฮสติ้งที่มีLightspeedเซิร์ฟเวอร์ โฮสติ้งแจ้งว่าmod_rewriteเปิดใช้งานแล้ว แต่ฉันไม่สามารถใช้งานสคริปต์ได้ที่นั่น เมื่อใดก็ตามที่ฉันพยายามเข้าถึง URL มันจะส่งกลับ404 - not found page ฉันใส่รหัสเดียวกันที่เซิร์ฟเวอร์อื่นซึ่งทำงานกับ Apache มันทำงานตรงนั้น ดังนั้นฉันเดาว่ามันเป็นปัญหา.htaccessและmod_rewrite แต่ฝ่ายสนับสนุนโฮสติ้งยังคงยืนยันกับฉันว่า mod_rewrite ของพวกเขาเปิดอยู่ดังนั้นฉันจึงอยากทราบว่าจะตรวจสอบได้อย่างไรว่าเปิดใช้งานจริงหรือไม่ ผมลองเช็คดูphpinfo()แล้วแต่โชคไม่เจอที่mod_rewriteนั่นเป็นเพราะใช้งานอยู่lightspeedหรือเปล่า? มีวิธีใดในการตรวจสอบ? กรุณาช่วยฉันออกไป. ขอบคุณ. FYI:.htaccessรหัสของฉันคือ Options -Indexes <IfModule mod_rewrite.c> DirectoryIndex index.php RewriteEngine on RewriteCond $1 !^(index\.php|assets|robots\.txt|favicon\.ico) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ ./index.php/$1 [L,QSA] </IfModule> ฉันพยายามเช่นนี้ด้วย DirectoryIndex index.php RewriteEngine on RewriteCond …

9
ปฏิเสธรายการไดเรกทอรีด้วย htaccess
ฉันมีโฟลเดอร์ตัวอย่างเช่น: /public_html/Davood/ และโฟลเดอร์ย่อยจำนวนมากในโฟลเดอร์ตัวอย่างเช่น: /public_html/Davood/Test1/, /public_html/Davood/Test1/Test/, /public_html/Davood/Test2/... ฉันต้องการเพิ่มไฟล์ htaccess ใน/public_html/Davood/การปฏิเสธ DirectoryListing ใน/Davoodและโฟลเดอร์ย่อยเป็นไปได้ไหม
103 apache  .htaccess 

15
ลบนามสกุล. php ด้วย. htaccess
ใช่ฉันได้อ่านคู่มือ Apache และค้นหาที่นี่ ด้วยเหตุผลบางอย่างฉันไม่สามารถทำให้สิ่งนี้ทำงานได้ สิ่งที่ใกล้เคียงที่สุดที่ฉันได้มาคือการลบส่วนขยายออก แต่จะชี้กลับไปที่ไดเรกทอรีราก ฉันต้องการให้มันทำงานในไดเร็กทอรีที่มี.htaccessไฟล์ ฉันต้องทำสามสิ่งกับ.htaccessไฟล์ ฉันต้องการมันเพื่อลบ. php ก. ฉันมีหลายเพจที่ใช้แท็บและURLดูเหมือน page.php # tab - เป็นไปได้ไหม ข. ฉันมีหน้าหนึ่งที่ใช้รหัสเซสชันต่อท้าย URL เพื่อให้แน่ใจว่าคุณมาถูกที่www.domain.com/download-software.php?abcdefgแล้ว เป็นไปได้หรือไม่ นอกจากนี้ในการดำเนินการนี้ฉันจำเป็นต้องลบ ".php" ออกจากลิงก์ในไฟล์ nav ส่วนหัวของฉันหรือไม่ ควรIE "<a href="support.php">support</a>" be <a href="support">support</a>? ฉันต้องการมันจะบังคับให้ "www" ก่อนที่ทุก URL ดังนั้นจึงไม่ได้แต่domain.comwww.domain.com/page ฉันต้องการลบเครื่องหมายทับทั้งหมดออกจากหน้า ฉันจะดูต่อไปพยายาม ฯลฯ การอยู่ในไดเรกทอรีย่อยจะทำให้เกิดปัญหาหรือไม่?
103 .htaccess 

8
.htaccess - วิธีบังคับ“ www.” ในลักษณะทั่วไป?
สิ่งนี้จะเปลี่ยนdomain.comเป็นwww.domain.com: # Force the "www." RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L] ฉันจะแทนที่ส่วน "โดเมน" เพื่อให้ทำงานกับโดเมนใด ๆ ได้อย่างไร

9
จะใช้เส้นทางสัมพันธ์กับ AuthUserFile ใน htaccess ได้อย่างไร?
ฉันมี. htaccess ที่ใช้การตรวจสอบสิทธิ์พื้นฐาน ดูเหมือนว่าเส้นทางไปยังไฟล์. htpasswd จะไม่สัมพันธ์กับไฟล์ htaccess แต่เป็นการกำหนดค่าเซิร์ฟเวอร์แทน ดังนั้นแม้ว่าฉันจะมีไฟล์. htaccess และ. htpasswd ในไดเร็กทอรีเดียวกัน แต่ก็ใช้ไม่ได้: AuthType Basic AuthName "Private Login" AuthUserFile .htpasswd Require valid-user อย่างไรก็ตามมันจะได้ผลถ้าฉันเปลี่ยน AuthUserFile เพื่อใช้เส้นทางสัมบูรณ์: AuthType Basic AuthName "Private Login" AuthUserFile "/home/user/public_html/mydir/.htpasswd" Require valid-user แต่ฉันต้องการสิ่งที่เป็นมือถือมากกว่าเพราะฉันใช้สิ่งนี้กับหลาย ๆ ไซต์ในพื้นที่ต่างๆ ฉันค้นหาเว็บแล้วแต่ไม่ได้รับการแก้ไขใด ๆ เป็นไปได้หรือ%{DOCUMENT_ROOT}ไม่ที่จะใช้เส้นทางสัมพัทธ์หรือตัวแปรเช่น?


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

6
วิธีลบการป้องกันรหัสผ่าน. htaccess ออกจากไดเร็กทอรีย่อย
ฉันใช้รหัสผ่านป้องกันทั้งเว็บไซต์ของ.htaccessฉัน แต่ฉันต้องการเปิดเผยหนึ่งในไดเรกทอรีย่อยเพื่อให้สามารถดูได้โดยไม่ต้องใช้รหัสผ่าน ฉันจะปิดใช้งานการป้องกันรหัสผ่าน htaccess สำหรับไดเรกทอรีย่อยได้อย่างไร .htaccessไวยากรณ์คืออะไรโดยเฉพาะ นี่คือ.htaccessไฟล์ของฉันที่อยู่ในรูทของ ftp AuthName "ผู้ดูแลเว็บไซต์" AuthUserFile /dir/.htpasswd AuthGroupFile / dev / null AuthName ปลอดภัย AuthType พื้นฐาน ต้องการชื่อผู้ใช้ผู้ใช้ 1 คำสั่งอนุญาตปฏิเสธ อนุญาตจากทั้งหมด

18
ฉันจะลบ“ public / index.php” ใน URL ที่สร้าง Laravel ได้อย่างไร
ฉันต้องการลบindex.phpหรือออก public/index.phpจาก URL ที่สร้างใน Laravel เส้นทางโดยทั่วไปคือlocalhost/public/index.php/someWordForRouteควรเป็นอย่างนั้นlocalhost/someWordForRoute. .htaccess <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews </IfModule> RewriteEngine On # Redirect Trailing Slashes. RewriteRule ^(.*)/$ /$1 [L,R=301] # Handle Front Controller. RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php[L] app / config / app.php 'url' => 'http://localhost', ฉันจะเปลี่ยนสิ่งนั้นได้อย่างไร?

10
ชุดส่วนหัว Access-Control-Allow-Origin ใน. htaccess ไม่ทำงาน
ฉันคิดไม่ออกว่าทำไม.htaccessการตั้งค่าส่วนหัวของฉันจึงไม่ทำงาน .htaccessเนื้อหาไฟล์ของฉัน: Header set Access-Control-Allow-Origin * Header always set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT" Header always set Access-Control-Allow-Headers "*" RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L] แต่เมื่อฉันลบHeaderและเพิ่มเข้าไปindex.phpแล้วทุกอย่างก็ใช้ได้ดี header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE, OPTIONS"); header("Access-Control-Allow-Headers: *"); ฉันขาดอะไรไป?

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