2015-10-28 75 views
1

对不起,如果这是重复的,可能是我使用了错误的关键字,但我无法找到解决方案。Htaccess,重写和显示404

我的问题是如何(使用Apache;的.htaccess),以实现以下目标:

我有一个名为show_results.php文件,我想: 重写show_results.php到/结果,并有人试图当访问show_results.php带来404错误(但/结果必须正确工作)。

我尝试了很多不同的方式,但没有运气 - 当我重写时,我能够访问原始页面。当我尝试将原始页面重定向到404页面时,“重写”页面也显示404。

谢谢!

回答

0

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On 
RewriteBase/

# To return 404 for any/dir/foo.php 
RewriteCond %{THE_REQUEST} /.+?\.php[\s?] [NC] 
RewriteRule^-[R=404,L] 

## To internally redirect /dir/file to /dir/file.php 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/?$ $1.php [L] 
+0

很抱歉这么晚才回复。我想将原始页面重定向到本机404错误?那可能吗? – user9111007

+0

对不起。我会更好地解释。这正是我想要发生的事情 - 当我访问/结果来打开show_results.php时,当我访问show_results.php时直接导致404错误(需要使用纯粹的htacess完成)。谢谢!! – user9111007

+0

是的,这是我的第一条规则中已经发生的事情。 – anubhava