2015-06-26 8 views
1

Я пытаюсь получить мой код, чтобы принять URL вроде следующего:Как настроить .htaccess для нескольких частей URL

www.mysite.com/something/something2/something3/something4

I использовали следующий код в моей .htaccess так запросы проходят через файл index.php:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L] 

Это прекрасно работает, если URL является www.mysite.com/something.

Однако, если я изменю его на www.mysite.com/something/something2, у меня возникла проблема с загрузкой внешних файлов, таких как CSS.

Вместо загрузки запрошенного файла CSS он загружает index.php.

Это только, если после домена находится более 1 сегмента. В противном случае он просто загружает CSS.

Вот как я загрузки CSS:

<link rel="stylesheet" href="style.css" type="text/css" /> 
+0

Вы должны использовать абсолютный путь, а не относительным, то есть ' "/style.css"' –

+0

Это работало. Не стесняйтесь публиковать его в качестве ответа. Благодарю. –

ответ

1

Так вы говорите, Apache, чтобы рассматривать все идентификаторы URI, как index.php, все ваши пути должны быть абсолютными, или по отношению к index.php. Например:

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

(Первоначально комментировал)

+0

BTW - сингл '/' перед именем файла не работал. Мне пришлось изменить его на полный URL-адрес, например, www.mysite.com/style.css –

+0

Интересно. Попробуйте изменить последнюю строку вашего .htaccess на 'RewriteRule^index.php [L]'. –

+0

Также есть .htaccess в корне вашего сайта? –

Смежные вопросы