2017-01-14 2 views
0

структура каталогов моего проекта заключается в следующем:файл .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> .Similarly для страницы связь это <a href="contact/">Contact us</a> содержание .The мой файл 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 ошибки, правила для о нас & связаться с нами работает properly.However, когда я не удалить правило для 404 ошибка тогда ссылка для нас и свяжитесь с нами, не работайте, а страницы перенаправляются на 404.php. Почему это так? Как включить правила для 404 файла, не найденного ошибки? Пожалуйста, помогите, поскольку я новичок в htaccess.

+0

Вы можете добавить эту строку в начале .htaccess 'ErrorDocument 404/404 .php', а затем удалить правило 404 rewrite – aperpen

ответ

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 
+0

, он не принимает меня до 404.php, когда он сталкивается с несогласованным url –

+0

, потому что вам нужно создать файл 404.php – Ruben

+0

Да @ruben, файл 404.php есть –

Смежные вопросы