Задать вопрос
@danyarob

Правильно ли я преобразую в чпу?

У меня есть каталог directory, в нем есть файл items.
Мне надо вместо /directory/items?id=10 сделать /directory/items/10

В htaccess я задаю установку

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /directory/items [L]


Если я перехожу по ссылке /directory/items/10, то выводит ошибку "Internal Server Error", хотя по сути должна быть ошибка 404, подскажете, может что-то не так делаю?
  • Вопрос задан
  • 96 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
shambler81
@shambler81 Куратор тега htaccess
эээ бро
ты не создал ЧПУ
ты создал редирект на место в котором будут обрабатываться запросы

Вот пример чпу
RewriteEngine On
#Включается 1 раз  на файл активирует редиректы
RewriteCond %{REQUEST_FILENAME} !-f
# если это не файл
RewriteCond %{REQUEST_FILENAME} !-l
# и если это не  линка
RewriteCond %{REQUEST_FILENAME} !-d
# и если это не директория, то есть не физически существующие файлы и папки, то есть по факту 404тые как у тебя сейчас
RewriteCond %{REQUEST_FILENAME} !/bitrix/urlrewrite.php$
# и не сам файл отвечающий за создание ЧПУ
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
#  если все это удовлетворено то сделать редирект на файл который отвечает за создание ЧПУ

Собственно после этого открывает ваш файл который получает URL которого нет физически но у него есть соответствие этого GET параметра нужным действиям например отобразить каталог в таком ракурсе.
Ваш пхп файл генерирует нужную страничку и отдает ее с кодом 200.

Все что вы сделали, это собрали все эти запросы и направили его на эту ссылку
и что вы ожидаете ? обрабатывать то кто его у вас там будет ?
Читать тут
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы