.htaccess 重寫模組在 Windows 中的 Apache 下不起作用
我正在嘗試將請求重定向到備份到單個文件的文件夾,該文件夾
index.py
位於我的 Apache 伺服器的根目錄中。到目前為止,沒有任何工作。這是我的.htaccess:<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d #RewriteCond %{HTTP_REFERER} !index\.py RewriteRule . index.py [L] </IfModule>
這仍然讓我喜歡它的 URL
www.example.com/files/testfile.zip
並下載。它需要回到index.py
. 我已取消註釋mod_rewrite.co
.httpd.conf
這是在 Windows 中。
這仍然讓我喜歡它的 URL
www.example.com/files/testfile.zip
並下載。您發布的指令明確排除了映射到文件系統上現有文件的 URL。所以是的,您將被允許訪問
/files/testfile.zip
(物理文件)並下載它。(具體來說,這RewriteRule
將只適用於不存在的文件。)但是,您發布的指令還存在其他問題,這表明它無法正常工作……這個 .htaccess 文件在哪裡?
如果此 .htaccess 文件位於文件根目錄中,那麼它將匹配每個請求,而不僅僅是對子目錄中文件的請求。
如果 .htaccess 文件位於子目錄中,則任何成功的重寫都將重寫到
index.py
該子目錄中,而不是文件根目錄中。要將特定子目錄中的所有請求在內部重寫 到文件根目錄中,請在該子目錄中的 .htaccess 文件中嘗試以下操作:
index.py
RewriteEngine On RewriteRule ^ /index.py [L]
**更新:**您需要啟用 .htaccess 文件,如果它們尚未啟用…
AllowOverride All
應該進入您的伺服器配置(如果您不需要所有東西All
,可以稍後替換)。必須進入伺服器配置中的一個部分,或者進入 .htaccess 文件本身。FileInfo``Options +FollowSymLinks``<Directory>