2014-01-02 4 views
0

У меня проблема в моем .htaccess. что случилось, что измененный HTAccess, добавив следующее: -htaccess перенаправляет весь url на страницу профиля по умолчанию

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

к нему, но после того, что он также перенаправляет все URL после домена в какое-то по умолчанию как страницы профиля для например: если я вхожу domain.com/edit.php он показывает страницу profile.php, но edit.php не существует, а должен показывать 404 страницу, но этого не происходит.

Вот мой .htaccess, это правильно, и это влияет на мой SEO.

Options +Indexes 
# or # 
IndexIgnore * 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([a-zA-Z0-9._-]+)$ profile.php?u=$1 
RewriteRule ^([a-zA-Z0-9._-]+)/$ profile.php?u=$1 
RewriteCond %{HTTP_HOST} !^$ 
RewriteCond %{HTTP_HOST} !^www\. [NC] 
RewriteCond %{HTTPS}s ^on(s)| 
RewriteRule^http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+0

см http://stackoverflow.com/questions/15879029/dont-understand-rewritecond-request-filename-f-and-d – user15

+0

, но он говорит, что он используется для перенаправления на index.php, но мой перенаправляет его на profile.php, почему? – rahulkapoor99

+0

, потому что следующая строка после этих двух ссылок ссылается на profile.php – user15

ответ

1
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

означает, что если файл с указанным именем в браузере не существует, или каталог в браузере не существует, то перейти к правилу переписывания непосредственно ниже этих строк

в вашем случае это правило

RewriteRule ^([a-zA-Z0-9._-]+)$ profile.php?u=$1 

Так что если вы хотите что-либо конкретное произойти в случае не найден страницы, добавить некоторые другие правила (перенаправление на страницу 404, и т.д.) непосредственно под строкой с -d и -f флаги.

Или удалите эти строки и добавить ссылку на свой 404 ошибки документа, как этот

ErrorDocument 404 /errordoc.php 

или ссылки index.php в качестве документа об ошибке

ErrorDocument 404 /index.php 
Смежные вопросы