1 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊
聽(tīng)起來(lái)很簡(jiǎn)單:當(dāng)一個(gè)請(qǐng)求沒(méi)有被解析到一個(gè)現(xiàn)有的文件或文件夾時(shí),然后在內(nèi)部將它重寫(xiě)為一個(gè)“索引文檔”:
RewriteEngine on RewriteCond %{REQUEST_URI} !-f RewriteCond %{REQUEST_URI} !-d RewriteRule ^ /index.php [END]
如果您使用上述規(guī)則收到內(nèi)部服務(wù)器錯(cuò)誤(http 狀態(tài) 500),那么您可能操作的是非常舊版本的 apache http 服務(wù)器。在這種情況下,您將在您的 http 服務(wù)器錯(cuò)誤日志文件中看到一個(gè)不受支持的[END]
標(biāo)志的明確提示。您可以嘗試升級(jí)或使用舊[L]
標(biāo)志,在這種情況下它可能會(huì)工作相同,盡管這在一定程度上取決于您的設(shè)置。
此實(shí)現(xiàn)同樣適用于 http 服務(wù)器主機(jī)配置或分布式配置文件(“.htaccess”文件)。顯然重寫(xiě)模塊需要在http服務(wù)器內(nèi)部加載并在http主機(jī)中啟用。如果您使用分布式配置文件,您需要注意它的解釋在主機(jī)配置中完全啟用并且它位于主機(jī)的文件夾中DOCUMENT_ROOT
。
還有一條一般性的評(píng)論:您應(yīng)該始終更喜歡將此類(lèi)規(guī)則放在 http 服務(wù)器主機(jī)配置中,而不是使用分布式配置文件(“.htaccess”)。那些分布式配置文件增加了復(fù)雜性,通常是意外行為的原因,難以調(diào)試并且它們確實(shí)減慢了 http 服務(wù)器的速度。它們僅在您無(wú)法訪問(wèn)真正的 http 服務(wù)器主機(jī)配置(閱讀:非常便宜的服務(wù)提供商)或堅(jiān)持編寫(xiě)自己的規(guī)則(這是一個(gè)明顯的安全噩夢(mèng))的應(yīng)用程序的情況下作為最后的選擇提供。
- 1 回答
- 0 關(guān)注
- 119 瀏覽
添加回答
舉報(bào)