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

ไฟล์การกำหนดค่าระดับไดเรกทอรีส่วนใหญ่พบบนเว็บเซิร์ฟเวอร์ Apache

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

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

2
ฉันจะให้ Apache2 แยกวิเคราะห์คำสั่งส่วนหัว (โดยไม่มีข้อผิดพลาด) ใน. htaccess ได้อย่างไร
ฉันกำลังโหลดหน้าเว็บที่มีข้อผิดพลาดเซิร์ฟเวอร์ภายใน 500 ข้อเนื่องจากฉันเชื่อว่ามีคำสั่งที่ Apache ไม่ได้รับการกำหนดค่าให้อนุญาต ฉันได้ตั้งค่า AllowOverride เป็น all และไฟล์. htaccess รวมไปถึง: <FilesMatch "\.(eot|ico|pdf|flv|jpg|jpeg|png|gif|svg|swf|ttf|woff)$"> Header set Cache-Control "max-age=31536000, public" Header set Expires "Wed, 23 Apr 2014 17:00:01 UTC" </FilesMatch> /var/log/apache2/error.log มี: [Sat Jul 20 15:12:36 2013] [alert] [client 24.15.83.241] /home/jonathan/.htaccess: Invalid command 'Header', perhaps misspelled or defined by a module …

1
ชื่อและตำแหน่งของไฟล์กำหนดค่า Nginx (เทียบเท่ากับ htaccess) คืออะไร
มีบทเรียนมากมายเกี่ยวกับวิธีเขียนกฎการเขียน Nginx ใหม่เพื่อเลียนแบบไฟล์. htaccess ของ Apache แต่ฉันไม่สามารถพูดได้อย่างมั่นใจว่าฉันรู้ว่าชื่อหรือที่ตั้งของไฟล์กำหนดค่า Nginx นี้เรียกว่าอะไร ฉันกำลังมองหาไฟล์กำหนดค่า Nginx ที่อนุญาตให้คุณเขียนเส้นทางเซิร์ฟเวอร์และคำสั่ง PHP โดยเฉพาะ ฉันใช้ Ubuntu 12 linux และ Codeigniter เป็นกรอบงาน PHP ของฉัน นี่คือสิ่งที่ฉันรู้: ไฟล์นี้: /etc/nginx/nginx.confแม้จะมีชื่อที่น่าดึงดูด แต่ก็ไม่ใช่สถานที่สำหรับคำสั่งของเซิร์ฟเวอร์ ไฟล์นี้: /etc/nginx/sites-available/defaultดูเหมือนว่าสิ่งที่ฉันต้องการ (ฉันสามารถสร้างข้อผิดพลาด php เฉพาะแอปของฉัน) แต่ฉันไม่สามารถรับเส้นทางที่เฉพาะเจาะจง Codeigniter ได้ ก่อนอื่นนี่คือไฟล์ "config" / .htaccess ที่ทุกคนพูดถึงหรือไม่

4
.htaccess จะถูกละเว้นแม้ว่า VirtualHost จะมี“ AllowOverride All”
ฉันใช้เซิร์ฟเวอร์ LAMP บน Fedora 13 ที่ใช้งานได้ดี อย่างไรก็ตามฉันเพิ่งเพิ่มไฟล์ ".htaccess" ลงในโฟลเดอร์ docroot ของเว็บไซต์ปัจจุบันที่ถูกเพิกเฉยอย่างสมบูรณ์ ฉันได้ลองทำแบบทดสอบต่าง ๆ ครึ่งโหลรวมถึงแบบทดสอบนี้แล้ว: RewriteEngine on RewriteBase / RewriteRule ^.*$ index.php แต่ภาพและหน้าอื่น ๆ ทั้งหมดโหลดได้ดีและไฟล์ที่ไม่มีอยู่ยังคงเป็น 404 ฉันยังลองนี้: order deny,allow deny from all แต่ทุกหน้ายังคงโหลดได้ดี อีกครั้งไฟล์. htaccess จะถูกละเว้นเพียง 100% เราใส่เร็กคอร์ด virtualhost ของเราใน /etc/httpd/conf.d/virtual.conf ดูเหมือนว่านี้: NameVirtualHost * <VirtualHost *> ServerName intranet DocumentRoot /var/www/default <Directory …


3
ไฟล์. htaccess ที่น่าสงสัย
คำถามนี้ถูกโยกย้ายจาก Stack Overflow เพราะสามารถตอบได้ใน Server Fault อพยพ 10 ปีที่ผ่านมา สิ่งนี้ถูกอัปโหลดไปยังหนึ่งในโฟลเดอร์ FTP ของฉัน ฉันไม่คุ้นเคยกับ Apache แต่ก็ยังอยากรู้อยากเห็นใครบางคนสามารถบอกฉันได้ว่าไฟล์นี้กำลังทำอะไรที่ขี้ขลาด? ขอบคุณ! RewriteEngine On RewriteCond %{HTTP_REFERER} .*google.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*ask.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*yahoo.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*excite.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*altavista.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*msn.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*netscape.*$ [NC,OR] RewriteCond %{HTTP_REFERER} .*aol.*$ [NC,OR] …

2
ฉันจะใช้คำสั่ง <If> ใน. htaccess ได้อย่างไร
ฉันกำลังพยายามเพิ่มคำสั่งแบบมีเงื่อนไขโดยใช้คำสั่ง If ของ Apache ในไฟล์. htaccess ของฉัน ฉันได้อ้างอิงหน้านี้http://httpd.apache.org/docs/trunk/mod/core.html#ifแต่ไม่ได้อธิบายรายละเอียดมากนัก / ยกตัวอย่างมากมาย ตัวอย่างที่ไม่สมบูรณ์สองตัวอย่างที่ให้คือ: &lt;ถ้า% {REQUEST_METHOD} เป็น GET, HEAD, OPTIONS&gt; และ &lt;ถ้า "$ req {Host} = ''"&gt; ดังนั้นฉันจึงพยายามเพิ่มสิ่งนี้ลงในไฟล์. htaccess ของฉัน: &lt;ถ้า% {SERVER_PORT} เป็น GET, HEAD, OPTIONS&gt; # ไม่มีที่นี่เลย &lt;/ ถ้า&gt; แต่ฉันได้รับข้อผิดพลาด 500 อย่างต่อเนื่องเมื่อฉันพยายามโหลดหน้าเว็บ นี่คือการติดตั้งในเครื่องของฉันและมันก็ใช้ได้ดีก่อนหน้านี้ (หรือถ้าฉันลบรหัสนั้น) ฉันเชื่อว่าฉันได้AllowOverride Allตั้งค่าทั่วโลกและบริบทสำหรับหากคำสั่งควรให้มันอยู่ใน. htaccess ("บริบท: การกำหนดค่าเซิร์ฟเวอร์, โฮสต์เสมือน, ไดเรกทอรี,. htaccess") …

4
ผลกระทบของความเร็วในการโหลดของ htaccess
โดยทั่วไปมีความเป็นไปได้สองอย่างในการจัดการสิ่งต่าง ๆ บน Apache: ทำการกำหนดค่าสำหรับโฟลเดอร์หนึ่งโดยหนึ่งโดยใช้ไฟล์ htaccess เพื่อยกเลิก htaccess อย่างสมบูรณ์และวางกฎทั้งหมดลงใน httpd.conf การใช้ htaccess เป็นปัญหาความเร็วในการโหลด ฉันอยากรู้ว่าการโหลด htaccess มีค่าใช้จ่ายเท่าไร? มีการทดสอบอะไรบ้าง?

1
ฉันจะลบส่วนหัว HTTP ด้วย. htaccess ใน Apache ได้อย่างไร
ฉันมีเว็บไซต์ที่ส่ง "ส่วนควบคุมแคช" และ "pragma" ส่วนหัว HTTP สำหรับคำขอ PHP ฉันไม่ได้ทำอย่างนั้นในรหัสดังนั้นฉันคิดว่ามันเป็นการกำหนดค่า Apache บางประเภทตามที่แนะนำโดยคำถามนี้ (คุณไม่จำเป็นต้องไปที่นั่นสำหรับบริบทของคำถามนี้) ฉันไม่มีอะไรในไฟล์. htaccess ของฉันดังนั้นจึงต้องอยู่ในการกำหนดค่าของ Apache เอง แต่ฉันไม่สามารถเข้าถึงได้นี่เป็นโฮสติ้งที่ใช้ร่วมกันฉันมีสิทธิ์เข้าถึง FTP ไปยังไดเรกทอรีของเว็บไซต์ของฉันเท่านั้น มีวิธีใดบ้างที่ฉันสามารถเพิ่มคำสั่งไปยังไฟล์. htaccess ของฉันที่จะลบส่วนหัวที่เพิ่มโดยการกำหนดค่าส่วนกลางหรืออื่น ๆ แทนที่คำสั่งเพื่อไม่ให้เพิ่มในตอนแรก ขอบคุณมาก แดเนียล

4
IIS7: วิธีบล็อกการเข้าถึงด้วยไฟล์ web.config
ฉันรู้ว่า IIS7 อนุญาตให้ฉันมีการกำหนดค่าไดเรกทอรีต่อไฟล์ web.config xml ฉันมีไดเรกทอรีที่มีไฟล์การกำหนดค่าบางอย่างที่ไม่ต้องการให้สามารถเข้าถึงเว็บได้ ไฟล์ web.config ภายในเครื่องสำหรับห้ามการเข้าถึงเพื่ออ่านมันจะเป็นทางออกที่ดี สิ่งที่ควรเป็นเนื้อหาของไฟล์ web.config เพื่อห้ามการเข้าถึงเว็บไฟล์? แก้ไข:ฉันพยายามวางไฟล์ web.config พร้อมเนื้อหาเหล่านี้ในไฟล์: &lt;?xml version="1.0" encoding="utf-8" ?&gt; &lt;configuration&gt; &lt;system.web&gt; &lt;authorization&gt; &lt;deny users="*" /&gt; &lt;!-- Denies all users --&gt; &lt;/authorization&gt; &lt;/system.web&gt; &lt;/configuration&gt; แต่ฉันยังคงสามารถเข้าถึงไฟล์ภายในไดเรกทอรีได้โดยตรง มีอะไรผิดปกติกับมัน? ฉันจะดีบักว่าเกิดอะไรขึ้น

1
Apache .htaccess <ถ้าโมดูลไม่ได้รับอนุญาตที่นี่
ใช้ Apache บน Ubuntu แม่นยำด้วย PHP 5.5 พยายามเข้าถึงของฉันvar/www/ให้ฉัน 500 /var/log/apache2/error.log แสดงให้เห็นว่า: /var/www/web/.htaccess: &lt;IfModule not allowed here . htacess ของฉันคือ: DirectoryIndex app.php &lt;IfModule mod_rewrite.c&gt; RewriteEngine On RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$ RewriteRule ^(.*) - [E=BASE:%1] RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule .? - [L] RewriteRule .? %{ENV:BASE}/app.php [L] …

3
จะสะท้อนออกจาก. htaccess อย่างไร
เราเขียนโค้ดจำนวนมากไปยัง htaccess แต่วิธีที่ดีที่สุดในการดีบักนอกเหนือจากการรีเฟรชหน้าคืออะไร มีวิธีที่ฉันสามารถเขียนมันลงไฟล์หรือไม่? หรือมีฟังก์ชั่น echo / print บ้าง? ฉันจะรู้ได้อย่างไรว่า $ 1 $ 2 $ 3 คืออะไร
13 .htaccess 

2
การกำหนดค่า favicon ด้วยส่วนหัวหมดอายุใน htaccess
ฉันได้ติดตั้ง Expires header ผ่าน mod_expires บนเซิร์ฟเวอร์ Apache ของฉันและสร้างส่วนหัว expires ได้สำเร็จสำหรับไฟล์ส่วนใหญ่ แต่ฉันมีปัญหากับ favicon ฉันเริ่มลองเพิ่มชุดคำแนะนำสำหรับไฟล์. ico แต่เมื่อตรวจสอบผ่าน YSlow จะไม่มีชุดหมดอายุ เมื่อสิ่งนี้ไม่ทำงานฉันก็แก้ไขให้เป็น GIF อย่างไรก็ตามสิ่งนี้ดูเหมือนจะมีปัญหาเดียวกัน gif อื่น ๆ ในเว็บไซต์ได้ตั้งค่าการหมดอายุของส่วนหัวอย่างถูกต้อง (accoridng เป็น YSlow อย่างน้อย) ทุกคนสามารถให้ความกระจ่างเกี่ยวกับสถานการณ์นี้ได้ไหม

1
ความยาวสูงสุดของ URL 257 ตัวอักษรสำหรับ mod_rewrite?
แบบแผน URL ของฉันคือ /foo/var1-var2-var3.../bar ฉันใช้กฎ mod_rewrite เหล่านี้: RewriteBase /foo/ RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.php [PT,L] หากความยาวของสตริง 'var1-var2 ... ' มากกว่า 257 ตัวอักษรแสดงว่าข้อผิดพลาด 403 ต้องห้ามและส่งคืน 404 อย่างไรก็ตามหากความยาวของสตริง 'var1-var2 ... ' คือ 257 ตัวอักษรหรือน้อยกว่าและตามด้วยสแลชความยาวของ url ที่เหลืออาจยาวเท่าใดก็ได้ เราจะเอาชนะขีด จำกัด นี้ได้อย่างไร

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