的.htaccess。 404 RewriteRule具有相同的文件名

时间:2016-09-26 15:38:17

标签: .htaccess mod-rewrite

我是新来的!

首先,对不起,如果我的英语不好!

我正在制作一个简单的RewriteRule,它给了我一个404。 我不得不说它适用于商业主机(如1and1),但不适用于我的Apache(Ubuntu Server)

如果RewriteRule与php文件的名称相同,则返回404。

  • RewriteRule#1正在运行。
  • RewriteRule#2不起作用(404)
  • RewriteRule#3正常工作
  • RewriteRule#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]
    

2 个答案:

答案 0 :(得分: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扩展名为

的所有文件中删除.php

答案 1 :(得分:1)

我没有相同名称的文件夹,但添加了

Options -MultiViews