Php rewrite rules проблемы htaccess с CSS и JS

У меня проблемы с применением правил перезаписи к моим страницам.

Моя схема следующая:

Assets (contains all subfolders with JS, CSS, IMG, etc)
header.php
footer.php
index.php (that have all links to all other files -> index.php?id=page

Теперь у меня возникли проблемы при создании правила перезаписи со вторым уровнем. Например, у меня есть страница:

edit-language -> that opens the page index.php?id=edit-language

На этой странице перечислены все языки и есть несколько вариантов на выбор:

edit-language/delete/X -> opens the same page above but with &delete=X -> both X are the ID
edit-language/publish/X -> opens the same page above but with &publish=X -> both X are the ID

Теперь у меня есть правило перезаписи для главной страницы:

RewriteRule ^edit-lang/?$ index.php?id=edit-lang [L]

И это прекрасно работает, но когда я создаю правило для другого уровня / чего-то / чего-то, оно теряет все файлы CSS. Например:

RewriteRule ^edit-lang/delete/(.*)$ index.php?id=edit-lang&delete=$1 [L]

Все мои ресурсы загружаются в файлы PHP верхнего и нижнего колонтитула, например src = "assets / js / ..."

Может кто-то мне помочь, пожалуйста? Спасибо!

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
35
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Я здесь угадаю - вы используете относительные ссылки?

src = "css/some.css"

Это выглядит из текущей папки. Поскольку теперь вы находитесь на другом уровне папки, файлы недоступны и будут 404.

Всегда используйте абсолютную ссылку, начинающуюся с косой черты, например:

src = "/css/some.css"

Таким образом, он начнет поиск из корня вашего сайта и больше не будет 404.

Вы были абсолютно правы. Это была глупая ошибка с моей стороны. У меня есть все источники с абсолютной ссылкой, кроме двух (основной css и js). Спасибо за ваше время.

Tiago 29.08.2018 11:55

Другие вопросы по теме