Apache 404错误文件存在时,新文件似乎被阻止

Apache 404错误文件存在时,新文件似乎被阻止,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我正在为一个客户编辑一个网站,遇到了一些障碍。如果有必要的话,网站的大部分内容都是用php完成的。我可以编辑和发布现有页面,但是如果我创建一个新的.php或.html页面并尝试在线查看,我会被发送到404错误页面。起初我认为这和.htaccess文件有关,但我在那个里并没有发现任何错误。如果我从我想要添加的页面中获取相同的代码,并用代码覆盖现有页面,它就可以正常工作。下面是只包含重写的.htaccess文件的代码。我想不出是什么阻碍了我查看新页面。我感谢你们的帮助 编辑:下面的htaccess文

我正在为一个客户编辑一个网站,遇到了一些障碍。如果有必要的话,网站的大部分内容都是用php完成的。我可以编辑和发布现有页面,但是如果我创建一个新的.php或.html页面并尝试在线查看,我会被发送到404错误页面。起初我认为这和.htaccess文件有关,但我在那个里并没有发现任何错误。如果我从我想要添加的页面中获取相同的代码,并用代码覆盖现有页面,它就可以正常工作。下面是只包含重写的.htaccess文件的代码。我想不出是什么阻碍了我查看新页面。我感谢你们的帮助

编辑:下面的htaccess文件似乎是问题所在,当删除时,一切正常,但我丢失了重写。有谁能建议一种更好的方法来完成htaccess中的重写,从而允许在没有扩展名的情况下进行冲浪?例如:website.com/home而不是website.com/home.php

RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|uploads|db|fonts|blogger|support|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

如果要删除.htaccess文件中的扩展名。。这就是我使用的:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^([^\.]+)$ $1.html [NC,L]
RewriteRule ^([^\.]+)$ $1.htm [NC,L]

我的最佳猜测是,查看您是否在其中一个PHP文件中的某个位置有一个已接受页面的白名单。如果您在
.htaccess
文件中注释掉这些行,行为是否会改变?@Zak如果我删除.htaccess文件,一切正常。你能建议一种不同的方法让我的重写规则都能工作吗?换句话说,htaccess文件是为了允许website.com/home而不是website.com/home.php,我怎么能在不删除htaccess的情况下仍然这样做呢。谢谢Zak。删除扩展名最简单的方法是使用目录而不是文件。。。ie
example.com/home/
而不是
example.com/home/index.php
。但在这种情况下,这不是很实际。嘿,在使用.htaccess规则时仍然存在一些问题。看起来该文件正在使服务器在根目录下查找网页(在该服务器上找不到请求的URL/signup.php),而实际上它位于application/views/signup.php中。我的OP中的规则似乎很重要,但同时也使得添加新页面时不可能没有404错误。你能建议一种方法来调整我的规则来处理任何新页面吗?或者至少将规则重定向到/application/views/?非常感谢。