0
我在我的.htaccess文件下面的代碼,這意味着到一個目錄轉換爲查詢字符串參數:的.htaccess重寫規則更改目錄要查詢字符串500內部服務器錯誤
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# RewriteRule ^g/XXXXXXXXXX-WINEGIFTS1$ g/index.php?u=XXXXXXXXXX-WINEGIFTS [L,QSA]
RewriteRule ^g/(.*)$ g/index.php?u=$1 [L,QSA]
所以,http://example.com/g/SOMETEXT應得到重寫爲http://example.com/g/index.php?u=SOMETEXT
就目前而言,它工作正常。
但是,如果我取消了註釋行的註釋,則會出現500內部服務器錯誤。
該行是爲了重寫一個特定的URL,http://example.com/g/XXXXXXXXXX-WINEGIFTS1,如http://example.com/g/index.php?u=XXXXXXXXXX-WINEGIFTS
奇怪的是,我有不同的域上運行完全相同的代碼,在不同的服務器上,並能正常工作。
有什麼想法引起這個錯誤?
謝謝!
感謝。我明白你對循環的看法,我認爲(儘管我認爲L屬性可以防止這種情況),但是我仍然在上面的代碼中遇到了500錯誤。 – Mark
@Mark L標誌並不會停止規則處理,它只是告訴引擎退出當前的重寫週期,併爲處理的第二階段提出請求 – starkeen
好的,理解,謝謝。 – Mark