0
RewriteRule ^(.*) public/$1 [NC,L]
我.htacces文件
,我也得到內部服務器錯誤500 有人能幫助我嗎?
並解釋我爲什麼得到它。
RewriteRule ^(.*) public/$1 [NC,L]
我.htacces文件
,我也得到內部服務器錯誤500 有人能幫助我嗎?
並解釋我爲什麼得到它。
因爲您以這樣的方式編寫了您的規則,因此他們創建了無限重寫循環哪些Apache必須在某些時候中斷,因此會發生500內部服務器錯誤。如果你檢查你的錯誤日誌,你會看到確切的錯誤信息。
[L]
標誌不一定意味着「重寫完成」 - 它只是意味着「重寫在這個迭代上完成 - 從開始重新開始」。
非常有用的信息:RewriteRule Last [L] flag not working?
解決你的問題 - 你需要添加一些條件,使已重寫規則沒有得到一次又一次的改寫。這些規則應該爲你做的工作(可能的解決方案之一 - 這一切都取決於你如何實際項目設置):
RewriteEngine on
RewriteBase/
RewriteCond %{REQUEST_URI} !^/public/
RewriteRule ^(.*)$ public/$1 [L]
有了這個規則,如果URL已被重寫或/public/
開始直線距離那麼不會發生額外的重寫。
@ user311129所以..它是否適合你? – LazyOne