簡體   English   中英

在Apache服務器上找不到.htaccess文件文件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM