Добрый день, после того, как я с грехом пополам и с замечательной помощью профи на форуме переделал свой сайт на ЧПУ, (ну, по простому совсем,)хотел выложить на сервер провайдера и попросить покритиковать. Но не вышло. Ошибка : браузер воспринимает файлы .css как HTML файлы и не использует их. Дома на localhost все работает идеально, никаких ошибок не показывает, несмотря на Код (Text): declare ( strict_types = 1 ); ini_set ( 'display_errors', '1' ); ini_set ( 'display_startup_errors', '1' ); error_reporting(E_ALL); Однако на www.ockham.xyz F12 показывет Stylesheet http://www.ockham.xyz/ockham/CSS/main_menu.css was not loaded because its MIME type, "text/html", is not "text/css". Еще более непонятно сообщение Notice: Undefined index: CSS in /mnt/web409/d1/35/59635935/htdocs/ockham/index.php on line 64 Notice: Trying to access array offset on value of type null in /mnt/web409/d1/35/59635935/htdocs/ockham/index.php on line 64 Notice: Undefined index: CSS in /mnt/web409/d1/35/59635935/htdocs/ockham/index.php on line 65 Notice: Trying to access array offset on value of type null in /mnt/web409/d1/35/59635935/htdocs/ockham/index.php on line 65 Вот текст на стр. 64, 65: Код (Text): $title = $property[$page]['title']; $meta_words = $property[$page]['keyword']; $meta_description = $property[$page]['description']; Есть настроечный файл, где для разных страниц стоит title и прочее. $page – запросная страница после разбора адресной строки. Откуда появляется в индексе $page значение CSS - полная загадка. Попробовал [src=html5]<link rel="stylesheet" href="test.css" type="text/css">[/src]. Без толку. Где здесь собака может быть зарыта? Сам сейчас в тупике.... Да, еще: у этого же провайдера находится другой мой сайт( без ЧПУ, ха-ха), там все ОК. Если я переношу CSS файлы из того сайта в сайт с ЧПУ, то получаю то же самое, то есть браузер воспринимает их как HTML. Спасибо.
Есть предположение, что дело в ЧПУ То есть путь до css у вас воспринимается как путь до страницы с именем css со всем вытекающим.... Покажите ваш htaccess
Видимо у тебя корневая директория сайта в папке htdocs/ockham/ Смотри убрал ockham из ссылки к css и файл загрузился. http://www.ockham.xyz/CSS/main_menu.css
М..да.. 1. Неприятно быть идиотом, хорошо, что форум есть. 2. Конечно, дело в играх с ЧПУ. 3. Теперь, после случайного разговора с обычным пользователем интернета, возник снова вопрос, а есть ли сермяжный смысл вообще в ЧПУ, но это отдельно. 4. Видимо у тебя корневая директория сайта в папке htdocs/ockham/ Да, правильно. На лок. сервере. У провайдера в корневом каталоге тоже папка ockham. 5. Внизу .htaccess, по мудрому совету MouseZver украден у Ларавел. Кажется ничего там не менял, кроме первой строчки. Как лучше его изменить, чтобы не делать двух версий (локальной и наверху ) ? Код (Text): AddType text/css .css <IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] 6. Спасибо.
@MouseZver : sorry, для разгадки сложных ассоциативных связей с глубоким интеллектуальным подтекстом имеющегося в наличии интеллекта не хватает...
5. Если что-то брать, то брать надо с умом. В ларавеле там же основная папка не в корне лежит а в public ... вряд ли у вас так проект построен. В целом - не знаю как у вас ЧПУ реализовано, но должно вполне хватить такого Код (Text): DirectoryIndex index.php RewriteEngine On Options +FollowSymlinks RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php [L,QSA] 3. Смысл есть всегда. - в первую очередь - для поисковиков, они больше полюбят сайт с чпу чем без него - как никак, чпу показывает некую структуру сайта и пользователям, бывает полезно - чпу скрывает, что "под капотом" на сайте..... что усложняет его взлом
ADSoft, спасибо. К сожалению после виски понял, что ни хрена не понимаю. А именно. ОК, из-за ЧПУ происходит неверный разбор адреса (ссылки). НО: почему дома правильный путь HTML: <link href="/ockm/CSS/layout_text.css" rel="stylesheet" media="screen"> , а на хосте HTML: <link href="/CSS/layout_text.css" rel="stylesheet" media="screen"> ? Дома: [HTTP_HOST] => localhost Хост: [HTTP_HOST] => www.ockham.xzy Далее и там и там корневой каталог ockham. Структура внутри естественно одна и та же. .htaccsses использован по предложению выше, только без строчки 4. Спасибо very much Ну, мало виски выпил. ВСЕ, РАЗОБРАЛСЯ, СТРУКТУРА РАЗНАЯ ВСЕ-ТАКИ. Закрыто.