[英]File not found with .htaccess file on Apache server
我的Windows開發人員機器上有這個.htaccess文件,一切正常
RewriteEngine On
RewriteRule ^(.+[^/])/$ http://%{HTTP_HOST}/webserv/$1 [R=301,L]
RewriteRule ^login/([0-9]+)/([0-9]+)$ login.php?par1=$1&par2=$2 [L,NC,QSA]
當我將其上傳到Centos服務器上時,出現錯誤
404 The requested URL path_to_script/login.php was not found on this server.
我不明白為什么會這樣。 該文件肯定在那里,我給了權限777。
我已通過在其中添加垃圾並獲取內部錯誤(500)來檢查.htaccess是否實際使用,這意味着它正在運行。
同樣,當我使用.htaccess對可以訪問該目錄的IP進行限制時,它也可以工作。 如我嘗試過的phpinfo()所示,加載了mod_rewrite。
我在這里茫然。
編輯
我注意到它嘗試在base_path中搜索,並將其附加到根路徑,例如
/path_to_script/path_to_script/login.php
這就是為什么它失敗了。 我該如何解決?
我終於解決了,但是不確定我是否喜歡。 至少有效。 如果有人有更好的解決方案,我將很高興看到它。
RewriteRule ^login/([0-9]+)/([0-9]+)$ http://host/webserv/login.php?par1=$1&par2=$2
我不喜歡此解決方案的原因是因為我沒有提供漂亮的網址。 它只是重定向。
我仍然不明白為什么我改為寫以下命令將根目錄附加到請求中:
RewriteRule ^login/([0-9]+)/([0-9]+)$ login.php?par1=$1&par2=$2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.