htaccess文件没有给出期望的结果

时间:2017-01-14 18:56:44

标签: php .htaccess

我项目的目录结构如下:

localhost/proj1
-folder1
-folder2
-.htaccess
-header.php
-index.php
-about_us.php
-contact_us.php

在标题页中,打开about_us.php的超链接就像<a href="about/">About Us</a>。同样对于联系我们页面,它是<a href="contact/">Contact us</a>。我的htaccess文件的内容如下:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{SCRIPT_FILENAME} !-d
    RewriteCond %{SCRIPT_FILENAME} !-f
    RewriteRule ^about/ about_us.php
    RewriteRule ^contact/ contact_us.php
RewriteRule .* 404.php [L]
</IfModule>

在上面的文件中,当我删除404错误的重写规则时,关于我们的规则&amp;联系我们工作正常。但是,当我不删除404错误的规则然后关于我们的链接和联系我们不工作而不是页面被重定向到404.php。为什么它表现得那样?如何包含404文件未找到错误的规则?请帮助,因为我是htaccess的新手。

1 个答案:

答案 0 :(得分:0)

不知道你究竟想做什么。 好的,如果你想处理404错误,只需创建一个404.php文件,并将其添加到你的.htaccess

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^about/ about_us.php [L]
RewriteRule ^contact/ contact_us.php [L]
RewriteRule ^([^\.]+)$ $1.php [NC,L]

ErrorDocument 404 /404