Вопрос по статье с данного ресурса (настройка сервера)

12
Napstor
На сайте с 27.05.2004
Offline
69
2208

Прочитал статью с данного сайта

При реализации описанного возникли следующие проблемы (автору писал, не отвечает):

настроил виртуальную директорию, появились следующие проблемы:

проблема с загрузкой и отображением рисунков.

проблема с открытием .xls и .doc файлов в новом окне.

Как пофиксить эти проблемы без прописки абсолютных путей?

Есть набор файлов с расширением tmpl, которые содержат :

header.tmpl содержит мета-теги

menu.tmpl содержит ссылки на другие разделы и документы .xls и .doc

body.tmpl содержит наполнение текущего раздела и различные картики

footer.tmpl содержит подпись и т.д.

Tmpl файлы главной страницы лежат в папке TMPL

Tmpl файлы других разделов лежат в подпапках паки TMPL

К прмеру:

/hosting/home/firma/public_html/tmpl/

/hosting/home/firma/public_html/tmpl/contacts/

/hosting/home/firma/public_html/tmpl/about/

Есть файл index.php который при обращении к нему подключает библиотеку tmpl.class

которая в свою очередь читает содержимое файлов tmpl склеивает его и выводит

в поток, в HTML виде, т.е. обычный HTML документ.

Ранее данные для библиотеки tmpl.class передавались в виде строки в URL

www.firma.com/index.php?act=contacts

www.firma.com/index.php?act=about

! ПРИ ТАКОМ РАСКЛАДЕ ВСЕ РАБОТАЕТ !

Согласно документации, для избавления от символов ? & =

были внесены изменения в файл .хтаксесс

ErrorDocument 404 index.php

ForceType application/x-httpd-php

Options Multiviews

При таком раскладе приобращении к файлу index.php сервак "думает", что это папка

Движок переделан так, чтобы данные для библиотеки передавались в другом виде:

www.firma.com/index/contacts

www.firma.com/index/about

В файлах tmpl все ссылки на картики были изменены с src="images/1.jpg" на src="../images/1.jpg"

Ссылки на документы .xls и .doc были изменены c src="docs/1.xls" на src="../docs/1.xls"

При таком раскладе некаторые картики подгружаются и отображаются, а некаторые нет

При попытке открыть документы .xls и .doc не предлагается их сохранить или открыть как раньше, а

в браузер выводится содержимое файлов .xls и .doc

ВОПРОС в следующем:

КАК ПРИ ТАКОМ РАСКЛАДЕ ПРАВИЛЬНО ПРОПИСАТЬ header(???); в PHP СКРИПТЕ УЧИТЫВАЯ, ЧТО ВЫВОИТСЯ

ТЕКСТ, КАРТИКИ, ЕСТЬ ДОКУМЕНТЫ ДЛЯ СКАЧИВАНИЯ И Т.Д.? :confused:

Спасибо

[Удален]
#1

Лучше вернуть все как было, и воспользоваться mod_rewrite. Только не так, как в статье описано, а по-человечески, воспользовавшись например документацией к mod_rewrite.

Napstor
На сайте с 27.05.2004
Offline
69
#2

Interitus, если не трудно можешь запостить ссылку на документацию как это настроить и использовать?

C
На сайте с 17.08.2002
Offline
82
#3
При реализации описанного возникли следующие проблемы (автору писал, не отвечает)

Вообще-то автору нужно писать на мыло сайта, чтобы быстрее получать ответы ;)

Кроме этого, у меня в принципе не всегда есть время, чтобы быстро отвечать на все письма...

Лучше вернуть все как было, и воспользоваться mod_rewrite.

Согласен...

Только не так, как в статье описано, а по-человечески, воспользовавшись например документацией к mod_rewrite.

Не стоит забывать, что во-первых, в статье описаны разные возможности по переделыванию URL. И во-вторых, это статья 2002 года, т.е. она уже устарела...

Interitus, если не трудно можешь запостить ссылку на документацию как это настроить и использовать?

Держи кое-что о ModRewrite от меня ;):

http://sitemaker.ru/technologies/webserver/mod_rewrite/

http://sitemaker.ru/technologies/webserver/mod_rewrite2/

http://sitemaker.ru/technologies/webserver/mod_rewrite3/

http://sitemaker.ru/technologies/webserver/mod_rewrite4/

Napstor
На сайте с 27.05.2004
Offline
69
#4

Ага, спасибо - будем разбираться 🍻

Napstor
На сайте с 27.05.2004
Offline
69
#5

Опять вопрос:

Что за ошибка и как её исправить?

RewriteBase: only valid in per-directory config file

Возникает когда я раскоментирую строку RewriteBase /

добавил ещё:

Как сказать броузеру, что если посетитель забрел в виртуальную директорию то, следует отсчитывать путь к картинке не от нее, а от http://ваш_сайт.ru/ ?

Какой HTTP заголовок header(???) нужно послать для того чтобы на странице отображались все картинки и документы .doc и .xls предлагались для сохранения или открытия, а

а не отображалось их содержимое (содержимое файлов .doc и .xls)

Как в .htaccess описать команды RewriteRule для модуля mod_rewrite

чтобы все символы в урле заменялись:

с ? на !

c & на @

с = на ~

Lupus
На сайте с 02.11.2002
Offline
241
#6

1. В mod_rewrite существует три контекста директив:

В главном конфиге сервера.

В конфиге вирт. хоста.

В .htaccess

Данная ошибка говорит о том, что RewriteBase можно использовать только в .htaccess и нельзя в других контекстах.

2. Не совсем понятно, что значит "забрел в виртуальную директорию". А вообще есть: <meta name="base" content="...">

3.

AddType application/msword .doc

AddType application/vnd.ms-excel .xls

Или, если в mime.types они уже есть:

<FilesMatch "(\.doc$)">

ForceType application/msword

</FilesMatch>

<FilesMatch "(\.xls$)">

ForceType application/vnd.ms-excel

</FilesMatch>

4. IMHO, только тремя последовательными RewriteRule.

There are two types of people in this world: 1. Those who can extrapolate from incomplete data.
Napstor
На сайте с 27.05.2004
Offline
69
#7

Lupus, а мог подробней описать 2 и 3 пункт

Lupus
На сайте с 02.11.2002
Offline
241
#8
подробней описать 2 и 3 пункт

2.

Если в .html файле вставить мета тэг base, например так:

<head>

<meta name="base" content="http://ваш_сайт.ru/">

...

</head>

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

3.

Перечисленные строки можно вставить в httpd.conf или в .htaccess.ъ

Второе - проще ;)

Napstor
На сайте с 27.05.2004
Offline
69
#9

Спасибо

А вот ещё:

Документы .doc и .xls начали открываться как надо, а картинки как неотображались

так и не отображаются. Может кроме :

AddType application/msword .doc

AddType application/vnd.ms-excel .xls

<FilesMatch "(\.doc$)">

ForceType application/msword

</FilesMatch>

<FilesMatch "(\.xls$)">

ForceType application/vnd.ms-excel

</FilesMatch>

Еще что-то для картинок можно прописать ?

Lupus
На сайте с 02.11.2002
Offline
241
#10
картинки как неотображались так и не отображаются.

А что отдает сервер? Какой код ответа и/или заголовки? Можно посмотреть этим сервисом.

Можно, конечно, написать что-то вроде этого:

AddType image/jpeg .jpg

AddHandler image/jpeg .jpg

AddType image/gif .gif

AddHandler image/gif .gif

<FilesMatch "(\.jpg)$">

ForceType image/jpeg

</FilesMatch>

<FilesMatch "(\.gif)$">

ForceType image/gif

</FilesMatch>

Но мне кажется, что дело здесь в чем-то еще. Настройки этих типов у сервера уже должны быть. Лучше всего в таких случаях помогает изучение логов сервера.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий