Я создал новую функцию с надеждой на получение панировочных сухарей и лучшую структуру URL.Исключить несколько путей из правила перезаписи htaccess
До этого я имел следующее правило:
RewriteRule ^pages/([a-z0-9,&-]+)/?$ ?action=viewArticleName&page_identifier=$1 [L,NC,QSA,B]
Это означало;
www.example.com/pages/contact
возвратил статью из БД. Теперь я хотел бы изменить это так, мои URLs выглядеть
www.example.com/categoryname/pagename
поэтому мое рабочее правило, переписывают для этого:
RewriteRule ^([^/]+)/([^/]+)$ /?action=viewCategoryName&categoryName=$1&page_identifier=$2 [L]
Проблема заключается в RewriteRule вызывает какие-либо изображения включаются с/изображений для загрузки включен шаблон для статьи.
я могу думать о трех возможных решений, но не фактический код:
1) Могу ли я создать массив имен категории? Тогда я мог бы сделать RewriteRule применимым только к этим именам.
2) Создайте класс, содержащий некоторые глобальные настройки. В этом есть некоторый php, который определяет или задает путь изображения. Все, о чем я могу думать;
define("IMAGE_PATH", "//example.com/images");
3) Добавьте что-то в файл Htacces, чтобы исключить определенные пути из правила.
Я знаю, что MVC или подобное достижение достигнут гораздо лучших результатов. Это о моем обучении, пожалуйста, скажите мне, если я выкопал себя в дыру здесь!
Большое спасибо, Adam
это работало идеально! Не могли бы вы объяснить, какая часть кода заставляет его пропускать все существующие файлы/каталоги? – atoms
Я добавил несколько комментариев в свой ответ. В основном '% {REQUEST_FILENAME}! -f' означает, что это не файл, а'% {REQUEST_FILENAME}! -d' означает, что запрос не для каталога. – anubhava
отлично работает, спасибо за разработку, отметит ваш комментарий – atoms