это моя первая попытка переписать мод для URL и правила ограничения доступа к файлу. Я немного читал похожие посты в стеке и Google, но пока не смог получить полный ответ. Пока что вся исследовательская информация в Интернете, кажется, разбита на кусочки и всегда не содержит какой-то ключевой шаг.
Новичку, как я, очень трудно соединить точки, поэтому я обратился к гуру по адресу stackoverflow
за какой-то помощью.
Я собираюсь перечислить все шаги, которые я предпринял до сих пор, так что, если кто-то может подсказать мне, что я сделал неправильно, я вечно благодарен. Возможно, мое пошаговое описание будет полезно для тех, кто ищет такой же ответ в будущем.
Конфигурация Apache
1) Раскомментируйте строку LoadModule rewrite_module modules/mod_rewrite.so
в папке httpd.conf file @conf.
2) Проверено, что mod_rewrite загружен путем отображения подробных сведений о php с помощью функции phpinfo () и поиска строки «mod_rewrite».
Чего я хочу достичь
[URL Rewrite]
**from** : www.domain.com/listing.php?
category=men+casual+pant&title=blue+office+pant&item_ID=123
**to** : www.domain.com/category/men/casual/pant/blue-office-pant_123.html
[Ограничить прямой доступ для следующего файла]
**restrict file** /htdocs/bg_addEditItem.php from direct URL access typing
Что я сделал до сих пор, но ничего не работает
1) Создает файл .htaccess и помещает его в папку / htdocs со следующим содержимым
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^category/$1/$2/$3/$4-$5-$6_$7 listing.php?&category=([a-z]+)-([a-z]+)-([a-z]+)&title=([a-z]+)+([a-z]+)+([a-z]+)item_ID=([0-9]+)
2) В настоящее время я использую комбинацию session_id и HTTP-реферера, чтобы запретить прямой доступ к файлу bg_addEditItem.php, но я думаю, что должен быть более простой метод, который помещает все защищенные файлы в папку и устанавливает другой .htaccess
файл. Может кто-нибудь показать, пожалуйста, как это делается? Мой метод доступа к этому файлу из поста формы.
Большое спасибо.