2016-09-26 33 views
0

我是新來的!.htaccess。 404相同文件名的RewriteRule

首先,對不起,如果我的英語不好!

我想提出一個簡單的重寫規則,它是給我一個404 我不得不說,它在商業hostings工作(如的1and1),但不是在我的Apache(Ubuntu服務器)

如果重寫規則具有相同名稱的PHP文件它返回404.

  • RewriteRule#1正在工作。
  • 重寫規則#2是不行的(404)
  • 重寫規則#3作品
  • 重寫規則#4作品

     Options +FollowSymlinks 
         RewriteEngine On 
    
         RewriteBase/
         RedirectMatch ^/es/$ /es/home 
         RewriteBase /es/ 
    
         #1 
         RewriteRule ^home$ index.php [L,NC] 
         #2 
         RewriteRule ^login$ login.php [L,NC] 
         #3 
         RewriteRule ^anyName$ login.php [L,NC] 
         #4 
         RewriteRule ^singup$ register.php [L,NC] 
    
+0

你的意思是它不工作登錄關鍵字,同時它在同一個login.php頁面上工作。 –

+0

是的,如果名稱與php文件的名稱相同,則返回404. –

回答

1

我沒有使用相同的名稱文件夾的所有文件刪除.PHP,但它解決了添加

Options -MultiViews 
1

嘗試像這樣,

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^login$ login.php [L] 

或試試這個規則,如果你刪除.php

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^([\w-]+)$ $1.php [NC,L] 

上面會從具有.php擴展

+0

這是一個好主意。我認爲它應該工作,但它不是! –