2012-02-08 63 views
0

請幫我解決這個問題。我有.htaccess文件的PHP項目包含這樣的代碼 -.htaccess文件配置

RewriteEngine on 

RewriteRule ^admin/?$ admin/index.php 
RewriteRule ^files/([0-9]+)/(.*)([/]?)$ download.php?id=$1 [QSA] 
RewriteRule ^([/a-zA-Z0-9_-]+)$ index.php?page=$1 [QSA] 

所以,我要的服務器,我的項目正常工作的第一臺服務器上,但第二臺服務器上我只能看到首頁,我的意思是,當我試圖去另一頁,例如關於我,這個錯誤appears`

未找到

所請求的網址/ my_site /英/ aboutme /沒有被此服務器上找到。

我認爲它與.htaccess文件連接。

請幫幫我。

+0

您應該檢查您的網站運行在哪個文件夾中。我認爲這不是這個文件的問題,否則問題出在你的文件夾中它的位置。 – 2012-02-08 07:25:19

+0

但是,可能是什麼問題,你的意思是?你有什麼想法嗎? – 2012-02-08 09:05:31

回答

0

您是否檢查過其他服務器是否安裝了mod_rewrite?如果URL重寫不起作用,那麼90%的時間都會丟失重寫引擎。

+0

沒有它的作品,我檢查了幾次:( – 2012-02-08 08:27:51

1

我會建議使用此:

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 

RewriteRule ^admin/?$ admin/index.php [NC,L] 

RewriteRule ^files/([0-9]+)/([^/]*)/?$ download.php?id=$1 [QSA,L,NC] 

# If the request is not for a valid directory 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L] 
  • 你在所有的規則缺失-l標誌。
  • 您需要放鬆最後一條規則,以最終捕獲index.php要處理的所有內容。
  • 同樣重要的是使用RewriteCond %{REQUEST_FILENAME} !-f來防止循環。
+0

謝謝,但我複製並粘貼,但沒有結果:( – 2012-02-08 08:29:59

+0

不知道你的意思是'無結果:)你試過的URI是什麼??什麼是什麼? – anubhava 2012-02-08 08:41:25

+0

這是錯誤,它並不依賴於我想要打開的URI,因爲它僅適用於主頁。 在此找不到請求的URL/mysite/eng/aboutme /服務器 – 2012-02-08 09:06:30