2013-06-30 53 views
0

我有這個奇怪的問題。 這是我的.htaccess文件:RewriteRule增加.js不是.php

RewriteEngine On 

RewriteRule ^login/$ login.php [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule^error.php [L] 

最後一條規則工作得很好,給我/error.php頁它不能解決任何URL。但是,如果我去的mysite /登錄/,我得到這個404 messagge:

The requested URL /login.js/ was not found on this server. 

因爲「login.js」沒有任何地方提到這是奇數。我認爲它會自動爲未知的網址添加「.js」或其他內容。如果我直接訪問mysite/login.php,我可以看到正確的.php頁面。如果這可以提供幫助,我正在使用localhost。任何建議?

+0

如果我訪問「mysite/login」,它會將我重定向到「mysite/login.js」,所以我真的認爲它會自動添加「.js」,但我不知道要在哪裏解決此問題。 – user2502368

回答

0
Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

如果您想從所有頁面中刪除.php擴展名,請使用上面提到的代碼。

+0

謝謝你的答案,但是,沒有。我希望「mysite/login /」重定向到「mysite/login.php」,而不是「mysite/login.js /」,因爲它神奇。 – user2502368

+0

意味着你需要相反的規則。你使用任何CMS或自定義? – monojit