亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用 .htaccess 從特定位置加載索引文件并且 url 不存在

使用 .htaccess 從特定位置加載索引文件并且 url 不存在

PHP
繁華開滿天機 2023-06-18 15:56:14
當用戶使用不存在的 url 時,我需要使用 .htaccess 從特定目錄加載索引文件。這是我的文件夾結構:root/realdirectory/virtualdirectory/virtualproducturl我的索引文件位于 root/realdirectory還有一些使任務更加復雜的東西:如果用戶訪問,則必須加載 root/realdirectory/index.php:-root/realdirectory/virtualdirectory/virtualproducturl or  -root/realdirectory/virtualdirectory/'virtualdirectory' 是我的產品類別,當用戶只訪問類別 url 時,我想向他展示一些來自 root/realdirectory/index.php 的信息提前謝謝
查看完整描述

1 回答

?
動漫人物

TA貢獻1815條經驗 獲得超10個贊

聽起來很簡單:當一個請求沒有解析到一個現有的文件或文件夾時,然后在內部將它重寫為一個“索引文檔”:

RewriteEngine on
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} !-d
RewriteRule ^ /index.php [END]

如果您使用上述規則收到內部服務器錯誤(http 狀態 500),那么您可能操作的是非常舊版本的 apache http 服務器。在這種情況下,您將在您的 http 服務器錯誤日志文件中看到一個不受支持的[END]標志的明確提示。您可以嘗試升級或使用舊[L]標志,在這種情況下它可能會工作相同,盡管這在一定程度上取決于您的設置。

此實現同樣適用于 http 服務器主機配置或分布式配置文件(“.htaccess”文件)。顯然重寫模塊需要在http服務器內部加載并在http主機中啟用。如果您使用分布式配置文件,您需要注意它的解釋在主機配置中完全啟用并且它位于主機的文件夾中DOCUMENT_ROOT。

還有一條一般性的評論:您應該始終更喜歡將此類規則放在 http 服務器主機配置中,而不是使用分布式配置文件(“.htaccess”)。那些分布式配置文件增加了復雜性,通常是意外行為的原因,難以調試并且它們確實減慢了 http 服務器的速度。它們僅在您無法訪問真正的 http 服務器主機配置(閱讀:非常便宜的服務提供商)或堅持編寫自己的規則(這是一個明顯的安全噩夢)的應用程序的情況下作為最后的選擇提供。


查看完整回答
反對 回復 2023-06-18
  • 1 回答
  • 0 關注
  • 114 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號