За последние 24 часа нас посетили 18828 программистов и 1605 роботов. Сейчас ищут 669 программистов ...

CSS превращается в HTML на сервере в облаках

Тема в разделе "PHP для новичков", создана пользователем Vladchucha, 13 ноя 2021.

Метки:
  1. Vladchucha

    Vladchucha Активный пользователь

    С нами с:
    12 ноя 2018
    Сообщения:
    167
    Симпатии:
    7
    Адрес:
    Nürnberg
    Добрый день, после того, как я с грехом пополам и с замечательной помощью профи на форуме переделал свой сайт на ЧПУ, (ну, по простому совсем,)хотел выложить на сервер провайдера и попросить покритиковать. Но не вышло.
    Ошибка : браузер воспринимает файлы .css как HTML файлы и не использует их.

    Дома на localhost все работает идеально, никаких ошибок не показывает,

    несмотря на
    Код (Text):
    1. declare ( strict_types = 1 );
    2.  
    3. ini_set ( 'display_errors', '1' );
    4.  
    5. ini_set ( 'display_startup_errors', '1' );
    6.  
    7. 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):
    1. $title = $property[$page]['title'];
    2. $meta_words = $property[$page]['keyword'];
    3. $meta_description = $property[$page]['description'];
    Есть настроечный файл, где для разных страниц стоит title и прочее.
    $page – запросная страница после разбора адресной строки.
    Откуда появляется в индексе $page значение CSS -
    полная загадка.
    Попробовал [src=html5]<link rel="stylesheet" href="test.css" type="text/css">[/src].
    Без толку.
    Где здесь собака может быть зарыта?
    Сам сейчас в тупике....

    Да, еще: у этого же провайдера находится другой мой сайт( без ЧПУ, ха-ха),
    там все ОК. Если я переношу CSS файлы из того сайта в сайт с ЧПУ,
    то получаю то же самое, то есть браузер воспринимает их как HTML.
    Спасибо.
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.788
    Симпатии:
    1.328
    Адрес:
    Лень
    Вызывай Бога Кодинга !
     
    Vladchucha нравится это.
  3. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.854
    Симпатии:
    748
    Адрес:
    Татарстан
    Есть предположение, что дело в ЧПУ
    То есть путь до css у вас воспринимается как путь до страницы с именем css со всем вытекающим.... Покажите ваш htaccess
     
    Vladchucha нравится это.
  4. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    501
    Симпатии:
    58
    Видимо у тебя корневая директория сайта в папке htdocs/ockham/

    Смотри убрал ockham из ссылки к css и файл загрузился.
    http://www.ockham.xyz/CSS/main_menu.css
     
    Vladchucha нравится это.
  5. Vladchucha

    Vladchucha Активный пользователь

    С нами с:
    12 ноя 2018
    Сообщения:
    167
    Симпатии:
    7
    Адрес:
    Nürnberg
    М..да..
    1. Неприятно быть идиотом, хорошо, что форум есть.
    2. Конечно, дело в играх с ЧПУ.
    3. Теперь, после случайного разговора с обычным пользователем интернета,
    возник снова вопрос, а есть ли сермяжный смысл вообще в ЧПУ, но это отдельно.
    4. Видимо у тебя корневая директория сайта в папке htdocs/ockham/
    Да, правильно. На лок. сервере. У провайдера в корневом каталоге тоже папка ockham.
    5. Внизу .htaccess, по мудрому совету MouseZver украден у Ларавел.
    Кажется ничего там не менял, кроме первой строчки.
    Как лучше его изменить, чтобы не делать двух версий (локальной и наверху ) ?
    Код (Text):
    1. AddType text/css .css
    2. <IfModule mod_rewrite.c>
    3.     <IfModule mod_negotiation.c>
    4.         Options -MultiViews -Indexes
    5.     </IfModule>
    6.  
    7.     RewriteEngine On
    8.  
    9.     # Handle Authorization Header
    10.     RewriteCond %{HTTP:Authorization} .
    11.     RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    12.  
    13.     # Redirect Trailing Slashes If Not A Folder...
    14.     RewriteCond %{REQUEST_FILENAME} !-d
    15.     RewriteCond %{REQUEST_URI} (.+)/$
    16.     RewriteRule ^ %1 [L,R=301]
    17.  
    18.     # Send Requests To Front Controller...
    19.     RewriteCond %{REQUEST_FILENAME} !-d
    20.     RewriteCond %{REQUEST_FILENAME} !-f
    21.     RewriteRule ^ index.php [L]
    6. Спасибо.
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.788
    Симпатии:
    1.328
    Адрес:
    Лень
     
  7. Vladchucha

    Vladchucha Активный пользователь

    С нами с:
    12 ноя 2018
    Сообщения:
    167
    Симпатии:
    7
    Адрес:
    Nürnberg
    @MouseZver : sorry, для разгадки сложных ассоциативных связей с глубоким
    интеллектуальным подтекстом имеющегося в наличии интеллекта не хватает...
     
  8. ADSoft

    ADSoft Старожил

    С нами с:
    12 мар 2007
    Сообщения:
    3.854
    Симпатии:
    748
    Адрес:
    Татарстан
    5. Если что-то брать, то брать надо с умом. В ларавеле там же основная папка не в корне лежит а в public ... вряд ли у вас так проект построен. В целом - не знаю как у вас ЧПУ реализовано, но должно вполне хватить такого
    Код (Text):
    1. DirectoryIndex index.php
    2. RewriteEngine On
    3. Options +FollowSymlinks
    4. RewriteBase /
    5.  
    6. RewriteCond %{REQUEST_FILENAME} !-f
    7. RewriteCond %{REQUEST_FILENAME} !-d
    8.  
    9. RewriteRule ^(.*)$ index.php [L,QSA]
    3. Смысл есть всегда.
    - в первую очередь - для поисковиков, они больше полюбят сайт с чпу чем без него
    - как никак, чпу показывает некую структуру сайта и пользователям, бывает полезно
    - чпу скрывает, что "под капотом" на сайте..... что усложняет его взлом
     
    Vladchucha нравится это.
  9. Vladchucha

    Vladchucha Активный пользователь

    С нами с:
    12 ноя 2018
    Сообщения:
    167
    Симпатии:
    7
    Адрес:
    Nürnberg
    ADSoft, спасибо.
    К сожалению после виски понял, что ни хрена не понимаю.
    А именно. ОК, из-за ЧПУ происходит неверный разбор адреса (ссылки).
    НО: почему дома правильный путь
    HTML:
    1. <link href="/ockm/CSS/layout_text.css" rel="stylesheet" media="screen">
    ,
    а на хосте
    HTML:
    1. <link href="/CSS/layout_text.css" rel="stylesheet" media="screen">
    ?
    Дома: [HTTP_HOST] => localhost
    Хост: [HTTP_HOST] => www.ockham.xzy
    Далее и там и там корневой каталог ockham.
    Структура внутри естественно одна и та же.
    .htaccsses использован по предложению выше,
    только без строчки 4.
    Спасибо very much
    Ну, мало виски выпил.
    ВСЕ, РАЗОБРАЛСЯ, СТРУКТУРА РАЗНАЯ ВСЕ-ТАКИ.
    Закрыто.
     
    #9 Vladchucha, 19 ноя 2021
    Последнее редактирование: 19 ноя 2021