ฉันมีโครงสร้างต่อไปนี้สำหรับรหัสเว็บไซต์ของฉันที่ /var/www/html
-- ไฟล์
---- ทดสอบ. txt
-- แอป
---- SomePhpCodes.php
---- SomePhpCodes.php
-- สาธารณะ
----index.php
---- .htaccess
รูทเอกสารถูกตั้งค่าเป็น "/var/www/html/public" แต่ฉันต้องการให้เข้าถึงไฟล์ผ่านพาธ "http://mywebsite/files/test.txt" ด้วย
ฉันคิดว่าสิ่งนี้จะต้องเป็นไปได้โดยใช้ mod_rewrite ในไฟล์ .htaccess
ไฟล์ข้างใน สาธารณะ
แต่ฉันกำลังดิ้นรนที่จะทำเช่นนั้น
ฉันพยายามเพิ่มกฎให้กับค่าเริ่มต้น .htaccess
ที่ให้บริการโดย Laravel framework ปัจจุบัน .htaccess
มีลักษณะดังต่อไปนี้:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# The following rule is added by me
RewriteRule files/(.*\.txt) /var/www/html/files/$1 [L]
# Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
ผลลัพธ์ปัจจุบันคือ ข้อผิดพลาดภายในเซิร์ฟเวอร์
เมื่อพยายามเข้าถึง "http://mywebsite/files/test.txt" ฉันรู้สึกว่าฉันอาจพลาดการตั้งค่าบางอย่างในการทำให้โฟลเดอร์ "ไฟล์" เป็นสาธารณะ แต่ฉันไม่รู้ว่าต้องทำอย่างไร
ฉันติดอยู่และถ้าใครสามารถช่วยฉันได้ฉันจะขอบคุณ