1 Востаннє редагувалося TakeAction (11.12.2015 22:54:56)

Тема: Не підключаються стилі до файлу

Для вивчення PHP вирішив практично займатись, бо теорія трохи скучна і як на мене не потрібна, легше вчити і зразу писати.
Так ось, є файл index.php, при вводі в браузер посилання сайту, індекс перенаправляє запит на файл home.php. В цьому файлі є простенький html код, повинен бути з формою реєстрації, але і без форми тошно. Не виводить взагалі стилі. Підключив їх, спочатку були в іншій папці, не виводились, перекинув файл стилів в цю ж папку, знову немає результату. Змінив розширення файлу home.php на .html, відкрив в браузері - стилі вивелись. Тоді в файлі index.php змінив посилання на home.html, і знову коли заходжу - текст з файлу виводиться а стилів немає.
Посилання на файли: https://drive.google.com/file/d/0B3JbJ7 … sp=sharing
Кому лєнь качати - короткі відомості з файлів:
...Кусочок файлу index.php

if ($Page == 'index') include('page/home.php');

...home.php

<?php ?>
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Головна сторінка</title>
    <meta name="keywords" content="" />
    <meta name="description" content="" />
        <link href="style.css" rel="stylesheet">
</head>
<body>
<div class="wrapper">
    <header class="header"></header>

    <div class="content">123</din>

    <footer class="footer"></footer>
</div>

</body>
</html>

...style.css

.wrapper {
    width: 1000px;
    margin: 0 auto;
}
.header {
    height: 150px;
    background: #FFE680;
}
.content {
}
.footer {
    height: 100px;
    background: #BFF08E;
}

2

Re: Не підключаються стилі до файлу

На це може якось впливати файл .htaccess?

3

Re: Не підключаються стилі до файлу

Коли сторінка завантажена в браузер, відкрийте код сторінки і клацніть на посилання на ваш css файл - чи відкриється сам файл, а чи скаже, шо його не може знайти?

Подякували: 221VOLT1

4

Re: Не підключаються стилі до файлу

Master_Sergius написав:

Коли сторінка завантажена в браузер, відкрийте код сторінки і клацніть на посилання на ваш css файл - чи відкриється сам файл, а чи скаже, шо його не може знайти?

Файл відкриває але він пустий

5

Re: Не підключаються стилі до файлу

Схоже, що проблема дійсно в htaccess
тут, можливо, знайдете відповідь
http://stackoverflow.com/questions/1333 … -css-files

Подякували: 221VOLT1

6

Re: Не підключаються стилі до файлу

А ще ці два дурних попередження постійно викидає.

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\OpenServer\domains\sky\index.php:1) in C:\OpenServer\domains\sky\index.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\OpenServer\domains\sky\index.php:1) in C:\OpenServer\domains\sky\index.php on line 3

Коли на хостинг поставити - все нормально, попереджень немає. А на локальному - постійно

Подякували: 221VOLT1

7

Re: Не підключаються стилі до файлу

TakeAction написав:

А ще ці два дурних попередження постійно викидає.

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\OpenServer\domains\sky\index.php:1) in C:\OpenServer\domains\sky\index.php on line 3

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\OpenServer\domains\sky\index.php:1) in C:\OpenServer\domains\sky\index.php on line 3

Коли на хостинг поставити - все нормально, попереджень немає. А на локальному - постійно

Бо на хостингу попередження вимкнені. Це загальна практика захисту від зламів.
А означає це, що вже здійснено якийсь вивід (через echo, print, знаки за тегом <?php, якусь помилку), а потім ви намагаєтеся надіслати заголовок (в цьому випадку - відкрити сесію). Знайдіть, що саме виводить до session_start() - там написано, де саме був вивід.

Подякували: 221VOLT1

8

Re: Не підключаються стилі до файлу

Ну і якщо сайт на хостингу, дали б посилання - це дуже багато питань би зняло.

9

Re: Не підключаються стилі до файлу

koala написав:

Ну і якщо сайт на хостингу, дали б посилання - це дуже багато питань би зняло.

http://jezupil.url.ph/

10

Re: Не підключаються стилі до файлу

Проблема, безумовно, у тому, що http://jezupil.url.ph/style.css не відкривається. Чому? Може, не там розташований, може, в .htaccess заборонений. Гляньте логи помилок.

11 Востаннє редагувалося TakeAction (11.12.2015 22:11:15)

Re: Не підключаються стилі до файлу

koala написав:

Бо на хостингу попередження вимкнені. Це загальна практика захисту від зламів.
А означає це, що вже здійснено якийсь вивід (через echo, print, знаки за тегом <?php, якусь помилку), а потім ви намагаєтеся надіслати заголовок (в цьому випадку - відкрити сесію). Знайдіть, що саме виводить до session_start() - там написано, де саме був вивід.

до session_start() не виводиться нічого, а підключається файл setting.php, в якому хост, бд, пароль і користувач.

<?php
include_once 'setting.php';
session_start();
$CONNECT = mysqli_connect(HOST, USER, PASS, DB);

 if ($CONNECT) echo 'OK<br />'; //перевірка, чи підконектилось до БД
 else 'ERROR';

12

Re: Не підключаються стилі до файлу

Кодування UTF з BOM? Видаліть цей BOM і буде вам щастя - в цьому питанні, принаймні. Бо стилі тут ні до чого.

Подякували: TakeAction, 221VOLT, leofun013

13 Востаннє редагувалося TakeAction (11.12.2015 22:41:18)

Re: Не підключаються стилі до файлу

koala написав:

Кодування UTF з BOM? Видаліть цей BOM і буде вам щастя - в цьому питанні, принаймні. Бо стилі тут ні до чого.

Прийшло щастя  *YAHOO* помилка зникла. А головне, що всі файли без ВОМ а індекс з ним :[
Залишись стилі

14

Re: Не підключаються стилі до файлу

Файл .htaccess до речі. Забув скинути

RewriteEngine on
RewriteBase /
#Option All -Indexes
RewriteCond %(REQUEST_FILENAME) -s [OR]
RewriteCond %(REQUEST_FILENAME) -l [OR]
RewriteCond %(REQUEST_FILENAME) -d
RewriteRule ^resource/(.*)$ resource/$1 [L]
RewriteRule ^.*$ [NC,L]
RewriteRule ^.*$ index.php [NC,l]
RewriteRule ^img/(.*)$ img/$1 [L]
RewriteRule ^css/(.*)$ css/$1 [L]

15 Востаннє редагувалося koala (11.12.2015 23:15:52)

Re: Не підключаються стилі до файлу

Файл .css перенесіть в папку css (і відповідно змініть посилання на нього). Або змініть

RewriteRule ^css/(.*)$ css/$1 [L]

на

RewriteRule ^.*\.css$ $1 [L]

А ще

RewriteRule ^.*$ [NC,L]

перенесіть в кінець.

Подякували: leofun011

16

Re: Не підключаються стилі до файлу

koala написав:

Файл .css перенесіть в папку css (і відповідно змініть посилання на нього). Або змініть

RewriteRule ^css/(.*)$ css/$1 [L]

на

RewriteRule ^.*\.css$ $1 [L]

А ще

RewriteRule ^.*$ [NC,L]

перенесіть в кінець.

нічого не дало. Може ви замітили, в мене рядок

#Option All -Indexes

закоментований. Якщо цей рядок є -сервер видає помилку 500
. І на локальному і на хостингу. Може без цього рядка не працює? Бо я в цьому .htaccess трохи не розбираюсь

17 Востаннє редагувалося Сергій78 (20.12.2015 23:44:01)

Re: Не підключаються стилі до файлу

Я прошу вибачення за, можливо, примітивне зауваження, але хіба теґ link допускає упускання

 type="text/css"

?

__________________
Справді, перевірив у себе на локальному сервері - все працює, отже дійсно проблема видно глибша :( Тоді вибачте за  флуд.

18 Востаннє редагувалося 221VOLT (23.12.2015 21:51:33)

Re: Не підключаються стилі до файлу

TakeAction написав:

Файл .htaccess до речі. Забув скинути

RewriteEngine on
RewriteBase /
#Option All -Indexes
RewriteCond %(REQUEST_FILENAME) -s [OR]
RewriteCond %(REQUEST_FILENAME) -l [OR]
RewriteCond %(REQUEST_FILENAME) -d
RewriteRule ^resource/(.*)$ resource/$1 [L]
RewriteRule ^.*$ [NC,L]
RewriteRule ^.*$ index.php [NC,l]
RewriteRule ^img/(.*)$ img/$1 [L]
RewriteRule ^css/(.*)$ css/$1 [L]

можливо це не моя справа (я ж бо не знаю з якою метою ви беретесь вивчити php),
але я можу вам порадити nginx замість apache

мінуси -
це не на кожному самому дешевому хостингу (на відміну від apache), потрібно vps-ку
навіть сама дешева vps коштуватиме трошечки дорожче ніж простий хостинг(втім, буде більше доступних ресурсів - а це уже плюс)
потрібно трошечки налаштувати nginx + backend сервер

плюси -
легше налаштувати
швидше працює
меньше їсть ресурсів
та й все-одно доведеться вивчати nginx ( якщо ви пишете проект з відвідуваністю більше ніж у якогось малоактивного блога малоактивного блогера, тому що станом на сьогодні ставити у якості фронт-сервера ahache - точно не найкраще рішення і , можливо, у якості бек-сервера - також )


how do:
локалка --
1) якщо у вас віндовс - ставимо віртуалку (немає різниці яку - vmware,virtualbox,etc - аби лінукс можна було туди поставити) та лінукс всередину - убунту сервер для прикладу, або дебіан, або ще щось))
якщо у вас не віндовс а лінукс - пропускаємо цей пункт)
2) встановлюємо на лінуксі nginx та bakend-сервер для php - наприклад php-fpm, phpFastCGI, etc
(ще тут є варіанти вибору ретранслятора-компілятора з php у іншу мову програмування для збільшення швидкості, я наприклад вибрав kphp,, втім, вам це зараз напевно не потрібно. лише як нотатка для майбутнього пригодиться), встановлюємо субд - для прикладу mysql, налаштовуємо все це
3) працюємо - пишемо код))

реальний сервер --
окрім першого пункту все так же,
та ще доведеться окремо подумати про безпеку, оце й усе)

---

можу підказати як зробити це ж на nginx, відповім на запитання (звісно на які я знаю відповідь) ))

Подякували: leofun011

19

Re: Не підключаються стилі до файлу

221VOLT написав:
TakeAction написав:

Файл .htaccess до речі. Забув скинути

RewriteEngine on
RewriteBase /
#Option All -Indexes
RewriteCond %(REQUEST_FILENAME) -s [OR]
RewriteCond %(REQUEST_FILENAME) -l [OR]
RewriteCond %(REQUEST_FILENAME) -d
RewriteRule ^resource/(.*)$ resource/$1 [L]
RewriteRule ^.*$ [NC,L]
RewriteRule ^.*$ index.php [NC,l]
RewriteRule ^img/(.*)$ img/$1 [L]
RewriteRule ^css/(.*)$ css/$1 [L]

можливо це не моя справа (я ж бо не знаю з якою метою ви беретесь вивчити php),
але я можу вам порадити nginx замість apache

мінуси -
це не на кожному самому дешевому хостингу (на відміну від apache), потрібно vps-ку
навіть сама дешева vps коштуватиме трошечки дорожче ніж простий хостинг(втім, буде більше доступних ресурсів - а це уже плюс)
потрібно трошечки налаштувати nginx + backend сервер

плюси -
легше налаштувати
швидше працює
меньше їсть ресурсів
та й все-одно доведеться вивчати nginx ( якщо ви пишете проект з відвідуваністю більше ніж у якогось малоактивного блога малоактивного блогера, тому що станом на сьогодні ставити у якості фронт-сервера ahache - точно не найкраще рішення і , можливо, у якості бек-сервера - також )


how do:
локалка --
1) якщо у вас віндовс - ставимо віртуалку (немає різниці яку - vmware,virtualbox,etc - аби лінукс можна було туди поставити) та лінукс всередину - убунту сервер для прикладу, або дебіан, або ще щось))
якщо у вас не віндовс а лінукс - пропускаємо цей пункт)
2) встановлюємо на лінуксі nginx та bakend-сервер для php - наприклад php-fpm, phpFastCGI, etc
(ще тут є варіанти вибору ретранслятора-компілятора з php у іншу мову програмування для збільшення швидкості, я наприклад вибрав kphp,, втім, вам це зараз напевно не потрібно. лише як нотатка для майбутнього пригодиться), встановлюємо субд - для прикладу mysql, налаштовуємо все це
3) працюємо - пишемо код))

реальний сервер --
окрім першого пункту все так же,
та ще доведеться окремо подумати про безпеку, оце й усе)

---

можу підказати як зробити це ж на nginx, відповім на запитання (звісно на які я знаю відповідь) ))

це все звісно добре, але як на мене - Апаче цілком достатньо для навчання. Та і проблема є яку треба вирішити не методом зміни сервера, а методом знаходження помилки в коді.

Подякували: 221VOLT1

20

Re: Не підключаються стилі до файлу

TakeAction написав:

це все звісно добре, але як на мене - Апаче цілком достатньо для навчання. Та і проблема є яку треба вирішити не методом зміни сервера, а методом знаходження помилки в коді.

вірно, достатньо для навчання)

запитання лише - чого саме навчитись ви хочете, і для яких цілей --
надавши відповідь по-пунктах на ці запитання у першу чергу самому собі --
ви зможете більш ефективно знаходити і вирішувати потрібні вам завдання та скоріше досягнете вашої цілі

удачі вам =)
(часто можна знайти інший шлях вирішення задачі - легший\швидший\ефективніший - є більше ніж два шляхи що-небуть зробити)

Подякували: leofun01, TakeAction2