2017-04-17 48 views
0

我已經設置更改文件名給出了錯誤500

mydomain.com/page 

指向使用htaccess以及mod_rewrite的,它完美的作品

mydomain.com/script.cgi

。但是,當我更改文件名和相關的重寫規則時,我得到了錯誤500.最初我以爲這是瀏覽器緩存問題,但清除緩存並沒有幫助。這裏的htaccess文件:

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{HTTPS} off 
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^page(.*)?$ /script.cgi$1 [NE,NC,L] 

正如我所說的這完美 - 直到我改變文件名和規則。如果我將腳本文件名更改爲script2.cgi,並將規則修改爲指向script2.cgi,則會引發錯誤。這是某種服務器緩存問題嗎?

回答

0

我找到了答案。這裏不會顯而易見,因爲我使用了佔位符名稱。問題是我的別名文件夾和目標腳本以相同的字母開頭。

/page -> /page.cgi 

因爲我在規則中使用^page(.*)?$,也有人匹配page.cgi從而產生一個無限循環。答案是將規則更改爲^page$以僅匹配整個別名,或者將腳本的名稱更改爲其他名稱。感謝大家。希望這可以幫助別人。