2015-09-22 2 views
2

Я имею немного головную боль с Htaccess, у меня есть следующие URLs:Перенаправление проблемы с файлом .htaccess

www.site.com/products 
www.site.com/contacts 

Они работают, но я хочу, чтобы перенаправить подкаталоги, которые не существуют на страницу индекса, на примере:

www.site.com/contacts/asdasdasd 

к

www.site.com 

Я уже заявление на .htaccess для продукта г etails

www.site.com/details/product/123 



www.site.com/(page name)/(product name)/(id) 

ответ

1

Выше текущих правил в файле .htaccess в корневом каталоге вашего сайта, попробуйте следующее:

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(products|contacts)/[^/]+$/[R=302,L] 

Это перенаправляет любые «подкаталог» из products или contacts родительских каталогов, что не существует, к корню документа.

Изменить 302 (временно) перенаправить на перенаправление 301 (постоянный), когда вы счастливы, что он работает нормально. (302 переадресации не кэшируются браузером, поэтому упрощает тестирование.)

+1

спасибо большое человек: D –

+0

Я просто забыл добавить ... изменить '302' (временный) перенаправление на' 301' (постоянный) перенаправлять, когда вы счастливы, что он работает нормально. (302 переадресации не кэшируются браузером, поэтому упрощает тестирование.) – MrWhite

+0

вы, сэр, звезда, спасибо еще раз, я всегда много сражаюсь с htaccess –

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