Мой PHP-контроллер не может включать CSS-файлы - PullRequest
0 голосов
/ 03 апреля 2012

Следующая проблема сводит меня с ума, возможно, я думаю о трудностях.

Вот в чем дело, я разработал небольшую инфраструктуру MVC, которая прекрасно работает.Atleast без перезаписи URL.

Проблема в том, что, как только я использую перезапись URL, такие вещи, как CSS или изображения, включенные в шаблоны, направляются в неправильный каталог.

Если явведите, например: http://www.domain.com/home, тогда все в порядке, и файл CSS загружается из каталога http://www.domain.com/css/.

Но когда я набираю: http://www.domain.com/home/ файл CSSне будет загружен, так как он ищет файлы CSS в http://www.domain.com/home/css/, что, очевидно, является неправильным каталогом.Кажется, он видит home / как каталог, в котором он ищет включенные файлы.

Если я вообще не использую переписывание URL, просто набрав: http://www.domain.com/index.php?slugs=home/, тогда нетпроблемы на всех.Поэтому я не думаю, что проблема вызвана моим сценарием, поэтому я думаю, что проблемы следует искать в файле .htaccess.

Вот мой файл htacces:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond $1 !^(index\.php|images|css|robots\.txt)
RewriteRule ^(.*)$ /astrostrategy/index.php?slugs=$1 [L] 

Есть ли способ, чтобы home / test / what (сегменты) не рассматривался как каталог?

Надеюсь, мой пост имел смысл, я часто думаю, что сложный: P

Уже спасибоза любую помощь!:)

Гр, Гермес.

Ответы [ 2 ]

2 голосов
/ 03 апреля 2012

Если ответ Смерти не работает, вы всегда можете установить базовый тег на URL для использования в относительных путях

2 голосов
/ 03 апреля 2012

кажется, что вы используете относительный путь директории для css.при использовании http://www.domain.com/home/ браузер принимает home в качестве каталога, а файл css будет находиться в http://www.domain.com/home/css/.мое предложение использовать относительно корневого пути.Теперь вы используете что-то вроде:

<link rel="StyleSheet" type="text/css" href="css/style.main.css" />

лучше использовать абсолютный путь или относительно корневого пути.

<link rel="StyleSheet" type="text/css" href="/css/style.main.css" />
...