Перейти к содержимому

Фотография

.htaccess


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 20

#1
Alex-Barmaley

Alex-Barmaley
  • Частый гость
  • 86 сообщений
Имеем такую запись
RewriteRule ^([a-z0-9-]+)/([a-z0-9-]+).html$ index.php?cat=$1&id=$2

При запросе, например site.kz/page/53.html

в начале файла index.php имеем как положено $_GET[cat]="page" и $_GET[id]="53", но не видим к примеру файл .css, который лежит в корне рядом с файлом index.php. при детальном рассмотрении оказывается что текущая директория /page/ и там разумеется этого файла нет... Ка этого избежать? как оставить корень текущей директорией

вариант
RewriteRule ^([a-z0-9-]+).([a-z0-9-]+).html$ index.php?cat=$1&id=$2
работает нормально, но ссылка вида

site.kz/page.53.html

вызывает какое-то нехорошее впечатление:)
  • 0

#2
asmoth

asmoth
  • Завсегдатай
  • 105 сообщений
абсолютный путь к цсс файлу пропишите
  • 0

#3
Alex-Barmaley

Alex-Barmaley
  • Частый гость
  • 86 сообщений
Так работает, но неудобно, т.к. верстаю у себя на локале, а выкладываю на сервак....

добавил в .htaccess строку

RewriteRule ^([a-z0-9-]+)/style.css$ style.css

Стили появились, а вот картинки из директории images не видятся


Может как-то на ПХП шагнуть в корень? сделать корень текущей папкой... что-то мысли путаются
  • 0

#4
Alex-Barmaley

Alex-Barmaley
  • Частый гость
  • 86 сообщений
Хотя причем тут пхп...
  • 0

#5
asmoth

asmoth
  • Завсегдатай
  • 105 сообщений
про цсс из .htaccess уберите и попробуйте писать вот так
src="main.css", а src="/main.css"
с картинками точно так же
  • 0

#6
Alex-Barmaley

Alex-Barmaley
  • Частый гость
  • 86 сообщений
Вот так заработало
<link href="../style.css" rel="stylesheet" type="text/css">

А т.к. картинки почти все прописаны в цсс то и они появились.


Спасибо огромное за помощь и задание направления хода мысли
  • 0

#7
asmoth

asmoth
  • Завсегдатай
  • 105 сообщений
ща поэкспериментирую с вашей конструкцией и чтонить выдам
  • 0

#8
asmoth

asmoth
  • Завсегдатай
  • 105 сообщений
localhost/page.53.html
RewriteRule ^([a-z0-9-]+).([a-z0-9-]+).html$ index.php?cat=$1&id=$2

localhost/page/53.html
RewriteRule ^([a-z0-9-]+)/([a-z0-9-]+).html$ index.php?cat=$1&id=$2


обе записи работают нормально
выдает page и 53 как положено

Вот так заработало
<link href="../style.css" rel="stylesheet" type="text/css">

А т.к. картинки почти все прописаны в цсс то и они появились.


Спасибо огромное за помощь и задание направления хода мысли

две точки не обязательно ставить

Сообщение отредактировал asmoth: 24.08.2011, 15:01:53

  • 0

#9
Alex-Barmaley

Alex-Barmaley
  • Частый гость
  • 86 сообщений
Переменные и выдавались без проблем, пхп отрабатывается нормально, но потом браузер за стилями и картинками обращался к директоиии /page/...
Теперь все нормально
  • 0

#10
asmoth

asmoth
  • Завсегдатай
  • 105 сообщений
не за что
  • 0

#11
Alex-Barmaley

Alex-Barmaley
  • Частый гость
  • 86 сообщений

две точки не обязательно ставить



С точками идет обращение из директории /page/ вверх - в корень, а без них? у меня не работало

Сообщение отредактировал Alex-Barmaley: 24.08.2011, 15:09:18

  • 0

#12
Alex-Barmaley

Alex-Barmaley
  • Частый гость
  • 86 сообщений
хм... но вот когда обращение идет типа http://mysite.kz проблема обратная
  • 0

#13
asmoth

asmoth
  • Завсегдатай
  • 105 сообщений


две точки не обязательно ставить



С точками идет обращение из директории /page/ вверх - в корень, а без них? у меня не работало

RewriteRule ^([a-z0-9]+)/([a-z0-9]+).html$ pages.php?cat=$1&id=$2
создал файл в корне
pages.php
lol.css

без / не работает
с / все ок

не должно быть что при обращении к файлу он получается в папке /page/
т.к. обращается к файлу pages.php в корне соответственно оттуда и идет отсчет

да и вообще структура правила действует только на подходящие к этому правилу запросы, т.е. на другие файлы не действует

посмотрите внимательно может у вас еще гденить чтонить =)
  • 0

#14
asmoth

asmoth
  • Завсегдатай
  • 105 сообщений
а нет вру... обращение идет из /page/, но "/" должно все компенсировать
  • 0

#15
asmoth

asmoth
  • Завсегдатай
  • 105 сообщений
эхех строка

Options +FollowSymlinks

есть в .htaccess?
  • 0

#16
Alex-Barmaley

Alex-Barmaley
  • Частый гость
  • 86 сообщений
Вот файл index.php
<?
	echo "$_GET[cat] -> $_GET[id]<br><br><br><br>";
?>
<html>
<head>
	<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
</body>
</html>

Вот style.css
html body {
	background: #FF0000;
}

Вот .htaccess
RewriteEngine on
RewriteRule ^([a-z0-9-]+)/([a-z0-9-]+).html$ index.php?cat=$1&id=$2


Обратите внимание как работают ссылки:

http://aaa.tiron.kz/
http://aaa.tiron.kz/page/5.html
  • 0

#17
asmoth

asmoth
  • Завсегдатай
  • 105 сообщений
попробуйте в .htaccess после
RewriteEngine on
добавить
Options +FollowSymlinks

а в index.php в строке
<link href="style.css" rel="stylesheet" type="text/css">
замените "style.css" на "/style.css"

Сообщение отредактировал asmoth: 24.08.2011, 15:45:06

  • 0

#18
Alex-Barmaley

Alex-Barmaley
  • Частый гость
  • 86 сообщений
На сервере все заработало, а на локале ни один вариант не работает... в чем подвох может быть?
  • 0

#19
asmoth

asmoth
  • Завсегдатай
  • 105 сообщений

На сервере все заработало, а на локале ни один вариант не работает... в чем подвох может быть?

мож в конфиге апача чтонить... хотя фиг его знает... тут уж надо разбираться, на это у меня сейчас времени нет
что юзаете в качестве сервера? самонастроенную или какуюнить сборку
  • 0

#20
Alex-Barmaley

Alex-Barmaley
  • Частый гость
  • 86 сообщений
LAMPP под Ubuntu, сборка готовая
  • 0


Количество пользователей, читающих эту тему: 1

пользователей: 0, неизвестных прохожих: 1, скрытых пользователей: 0

Размещение рекламы на сайте     Предложения о сотрудничестве     Служба поддержки пользователей

© 2011-2022 vse.kz. При любом использовании материалов Форума ссылка на vse.kz обязательна.