2013-06-30 22 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