The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема с переадресацией на"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Apache, http-серверы)
Изначальное сообщение [ Отслеживать ]

"Проблема с переадресацией на"  +/
Сообщение от lucky89 email(ok) on 31-Июл-11, 03:50 
На сервере стоит линукс дебиан на нем апатч, межсетевой экран, шлюз в инет, сквид. На апатч переадресовываются, те кому запрещен доступ в инет для разъяснения причин. Делается это командой:

iptables -t nat -A PREROUTING -s 192.168.102.80 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.102.102

где 192.168.102.80 - адрес должника
192.168.102.102 - адрес этого же сервера, вместо него можно localhost написать

Проблема вот в чем. Если должник лезет на сайт скажем http://www.google.ru/ или http://vk.com/ то его прекрасно перекидывает на http://192.168.102.102/index.html

Если же идет на сайт  http://www.google.ru/search?bla-bla или http://vk.com/albums5413524 то выходит сообщение, что станицы не существует.

Такое ощущение, что апатч пытается найти сайт http://192.168.102.102/albums5413524 и так далее. Нужно, чтобы не только из корня сайта, но и из любого другого места пользователя перекидывало на страничку index.html. А потом он мог ходить по ссылкам моего сайта (он из нескольких страниц) Подскажите, как исправить?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема с переадресацией на"  +/
Сообщение от PavelR (??) on 31-Июл-11, 07:32 
> Подскажите, как исправить?

Вкурить ман по mod_rewrite апаТча.


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Проблема с переадресацией на"  +/
Сообщение от lucky89 email(ok) on 31-Июл-11, 18:33 
> Вкурить ман по mod_rewrite апаТча.

Почитал руководства по этому модулю, полезная штука, но сложная (для меня)... Я никогда особо не работал с апатчем и похоже не буду. Он мне нужен только для отображения трех примитивных html страничек связанных простыми ссылками.

Можно готовое решение, что в какой файл и в какое место добавить (можно в общем виде), если не сложно конечно.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Проблема с переадресацией на"  +/
Сообщение от XoRe (ok) on 31-Июл-11, 18:55 
RewriteEngine on
RewriteRule ^/$ / [L,QSA]

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Проблема с переадресацией на"  +/
Сообщение от lucky89 email(ok) on 31-Июл-11, 20:08 
> RewriteEngine on
> RewriteRule ^/$ / [L,QSA]
> В настройки хоста в конфиге апача.

Есть файлы:

ls /etc/apache2
apache2.conf  conf.d  envvars  httpd.conf  magic  mods-available  mods-enabled  ports.conf  sites-available  sites-enabled

Добавил эти строки в ранее пустой httpd.conf, остановил, запускаю:

root@102:~# /etc/init.d/apache2 restart
Syntax error on line 1 of /etc/apache2/httpd.conf:
Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information.
failed!

Походу не туда добавил строки... А где тут настройки хоста? Куда добавить?


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Проблема с переадресацией на"  +/
Сообщение от lucky89 email(ok) on 01-Авг-11, 13:07 
Вычитал, что добавлять надо в файл .htaccess
В директории апатча этого файла не было.Создал его командой

nano /etc/apache2/.htaccess

Добавил код, сохранил, выполнил

/etc/init.d/apache2 restart

Никаких улучшений. Захожу на softtime.ru/forum/rules.php?id_forum=5 получаю ошибку:

Not Found

The requested URL /forum/rules.php was not found on this server.

Apache/2.2.16 (Debian) Server at www.softtime.ru Port 80


Захожу на softtime.ru - быстро перекидывает, куда надо. Может я чего сделал неправильно?

Еще момент интересный: файл .htaccess создался и изменения в нем сохранились. При повторном вводе команды ls /etc/apache2/ его в директории не видно, но при команде nano /etc/apache2/.htaccess он открывается для редактирования с сохраненным в нем вашим кодом.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Проблема с переадресацией на"  +/
Сообщение от Дядя_Федор on 01-Авг-11, 15:17 
Плохо быть бестолковым. Этот файл надо добавить в ДОМАШНЮЮ директорию, которая задана в Вашем Веб-сервере. Еще больше "пальцем показываю". В ТУ директорию, которая задана в настройках конкретного сайта (а их может быть много - в случае виртуал-хостов) в качестве DocumentRoot. По секрету скажу, что у Апача еще есть лог-файлы. Они очень часто могут помочь.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "Проблема с переадресацией на"  +/
Сообщение от Дядя_Федор on 01-Авг-11, 15:20 
> Еще момент интересный: файл .htaccess создался и изменения в нем сохранились. При
> повторном вводе команды ls /etc/apache2/ его в директории не видно, но
> при команде nano /etc/apache2/.htaccess он открывается для редактирования с сохраненным
> в нем вашим кодом.

Уууу. Как все запущено. Батенька, Вам бы надо начать с простейшего ликбеза. О том, что такое UNIX и какие команды у него есть и как работают. Ничего "интересного" в том, что Вы написали выше - нет. Есть печальное. Печальное то, что человек не знает прописных истин. То есть - грубо говоря пытается читать учебник по алгебре 6 класса, не усвоив учебник по математике 2-го класса.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "Проблема с переадресацией на"  +/
Сообщение от lucky89 email(ok) on 01-Авг-11, 17:34 
>  Уууу. Как все запущено.

Есть такое - не отрицаю... Расскажите, как эти прописные истины называются и где про них почитать (на русском языке).

Виртуальных хостов у меня нет и надеюсь не будет. Файлы сайта хранятся там, где была тестовая страничка апатча то есть /var/www
В общем я убрал все изменения, которые вносил, сделал следующие:

/etc/apache2/httpd.conf

Там пусто.
Добавил строку:

ServerName 102

Пропало предупреждение, что не определяется имя сервера.

Открыл:
nano /etc/apache2/sites-available/default

В нем:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride none
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

Создал файл для вашего кода в соответствующей директории:
nano /var/www/.htaccess
С содержимым:

RewriteEngine on
RewriteRule ^/$ / [L,QSA]

/etc/init.d/apache2 restart

Никаких изменений... Пере адресация только с главных страниц сайтов.
В логах пишет сообщения типа:
File does not exist: /var/www/13123
File does not exist: /var/www/favicon.ico
File does not exist: /var/www/complete, referer: http://www.google.ru/search?q=linux+apache+documentroot
Получается не работает пока /var/www/.htaccess

Может еще подсказку дадите? ;)

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Проблема с переадресацией на"  +/
Сообщение от Дядя_Федор email on 01-Авг-11, 20:23 
>>  Уууу. Как все запущено.
> Есть такое - не отрицаю... Расскажите, как эти прописные истины называются и
> где про них почитать (на русском языке). То, что Вас так озадачило решается при помощи команды ls -la. :) Первый класс, вторая четверть.

Любая кинга по UNIX.


>         <Directory /var/www/>
>            
>     Options Indexes FollowSymLinks MultiViews
>            
>     AllowOverride none
>            
>     Order allow,deny
>            
>     allow from all
>         </Directory>

.....

> Может еще подсказку дадите? ;)

Дам. В директиве описания директории поменяйте AllowOverride none на AllowOverride yes. Эта директива указывает на то, что файл .htacces можно обрабатывать. Ну и перезапустите Апача, есесвенна.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Проблема с переадресацией на"  +/
Сообщение от Дядя_Федор email on 01-Авг-11, 20:24 
Моя фраза по ls -la попала в цитируемое поле. Ошибся - прошу прощения. :)
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Проблема с переадресацией на"  +/
Сообщение от lucky89 email(ok) on 01-Авг-11, 21:28 
Поправил. Апатч не перезапустился, говорит, что это "yes" синтаксическая ошибка:

Syntax error on line 35 of /etc/apache2/sites-enabled/000-default:
Illegal override option yes
Action 'configtest' failed.
The Apache error log may have more information.
failed!

Видел на другом форуме, что можно написать параметр all, с ним запускается, но улучшений нет.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Проблема с переадресацией на"  +/
Сообщение от Дядя_Федор email on 01-Авг-11, 21:49 
> Видел на другом форуме, что можно написать параметр all, с ним запускается,
> но улучшений нет.

Я ступил - точно AllowOverride all. Теперь конструкция для .htaccess предлагается такая:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>
Это при условии, что у Вас по дефолту выводится страница index.php. Если index.html - cоответственно, надо поменять имя файла.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Проблема с переадресацией на"  +/
Сообщение от Дядя_Федор email on 01-Авг-11, 21:53 
И еще должен быть, конечно, подгружен модуль mod_rewrite.
В httpd.conf:
LoadModule rewrite_module modules/mod_rewrite.so
Ну - это у меня так в gentoo. :) Возможно - в Вашем дистрибутиве это где-то в другом месте лежит - всяко бывает.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Проблема с переадресацией на"  +/
Сообщение от lucky89 email(ok) on 02-Авг-11, 05:19 
Через 3 недели попробую, как с отдыха вернусь и отпишусь. Спасибо за помощь!


Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Проблема с переадресацией на"  +/
Сообщение от lucky89 email(ok) on 27-Авг-11, 16:21 
Все 3 строки AllowOverride none изменил на AllowOverride all

nano /etc/apache2/sites-available/default

<VirtualHost *:80>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride all
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride all
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride all
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

.htaccess теперь с содержимым:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]

</IfModule>

У меня по дефолту должна выводиться страница index.html

Апатч пере запустился без ошибок, но проблема не решилась.

> И еще должен быть, конечно, подгружен модуль mod_rewrite.
> В httpd.conf:
> LoadModule rewrite_module modules/mod_rewrite.so
> Ну - это у меня так в gentoo. :) Возможно - в
> Вашем дистрибутиве это где-то в другом месте лежит - всяко бывает.

Как это проверить? у меня debian

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

16. "Проблема с переадресацией на"  +/
Сообщение от lucky89 email(ok) on 13-Сен-11, 12:40 
Заработало!
Модуль этот был отключен.
А включался он так:

Подключил модуль: sudo a2enmod rewrite
И перезагрузил apache /etc/init.d/apache2 restart

И после этого всё заработало!!!

СПАСИБО ЗА ПОМОЩЬ!

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2021 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру