Форум программистов, компьютерный форум, киберфорум
Apache, htaccess
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.80/46: Рейтинг темы: голосов - 46, средняя оценка - 4.80
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268

Переадресация

17.03.2010, 22:46. Показов 9065. Ответов 38
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сделать так, чтобы при вводе в адресной строке браузера, например, http://mysite.com/id1 перенаправлялось на http://mysite.com/vp.php?id=1, а в адресной строке отображалось http://mysite.com/id1 ?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.03.2010, 22:46
Ответы с готовыми решениями:

Переадресация
Всем привет. Ребят помогите пожалуйста с переадресацией с одного домена на другой, чтобы к примеру когда заходили по домену moy-site.ru...

Переадресация
Добрый день Помогите сделать редирект спомощью httacess с http://site.ru/page1 на http://site.ru/index.php?id=34 Добавлено...

Переадресация
Друзья, не особо силен в апаче, но есть небольшая задачка. Есть сайт frontend и backend частью Входной скрипт для frontend части...

38
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
25.03.2010, 12:26  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от SunDrop Посмотреть сообщение
1) Проверяем файл «error.log» на наличие ошибок вида:
«Invalid command 'RewriteEngine', perhaps mis-spelled or defined by a module not included in the server configuration».
нашёл в старых логах, в новых нет
всё остальное... ошибок нет, но не работают, или я проверяю их работу неправильно
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13441 / 7534 / 831
Регистрация: 09.09.2009
Сообщений: 29,554
25.03.2010, 13:40
Цитата Сообщение от Kidalvь Посмотреть сообщение
в новых нет
Значит mod_rewrite включен в конфигурацию апача и работает.
Цитата Сообщение от Kidalvь Посмотреть сообщение
но не работают
тут уже вопрос к написаному правилу (в этом я не помошник).
Я вот знаю точно, что у меня вордпрес вовсю использует mod_rewrite. содержимое его файла .htaccess (вдруг поможет чем, но еще раз повторюсь - лично я в этом ниче не понимаю)
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 cat .htaccess
 
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp/index.php [L]
</IfModule>
 
# END WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
0
 Аватар для SunDrop
390 / 229 / 11
Регистрация: 09.12.2009
Сообщений: 668
25.03.2010, 14:24
А третий тестовый пример, который роботс перебрасывает, у тебя тоже не работает?
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
26.03.2010, 10:46  [ТС]
Цитата Сообщение от SunDrop Посмотреть сообщение
А третий тестовый пример, который роботс перебрасывает, у тебя тоже не работает?
не работает... просто:
[Thu Mar 25 19:08:22 2010] [error] [client 192.168.0.100] File does not exist: /var/www/robots.txt

Добавлено через 17 часов 37 минут
Когда в Синаптике вводил mod_rewrite, установил всё, что там предлагалось. В папке /var/www появилась страница: index.lighttpd.html. Это о чём-то может говорить? Одна из строк: "Unless you changed its configuration, your new server is configured as follows: ..." . У меня другой сервер установился?
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13441 / 7534 / 831
Регистрация: 09.09.2009
Сообщений: 29,554
26.03.2010, 11:39
light http - это вроде как совсем другой веб-сервер (в том смысле, что не апач).

проверьте что запущено (процессы)

можно например, pgrep. команда
pgrep имя_процесса
если выводит число - то это номер процесса, процесс запущен. Если в ответ тишина - процесс не выполняется..

Добавлено через 4 минуты
и еще, как для включения модуля в апаче у убунты есть команда и для выключения модуля
a2dismod. Я так понимаю, что точно также, если ее ввести без указания конкретного модуля она предложит список всего того, что можно выключить. А нормальная логика позволяет утверждать, что выключить можно лишь только то, что вклюено. Таким образом, если в ответ на команду вам предложат список и в нем будет мод_реврайт, то значит он есть и он включен. Собственно немного от убунты про апч
https://help.ubuntu.com/8.04/s... httpd.html
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
26.03.2010, 12:08  [ТС]
Цитата Сообщение от dmkhn Посмотреть сообщение
проверьте что запущено (процессы)
Я проверил другим способом...
Code
1
2
3
4
5
6
7
root@vladiator:~# /etc/init.d/lighttpd restart
Syntax OK
 * Stopping web server lighttpd                                          [ OK ] 
Syntax OK
 * Starting web server lighttpd                                                 
2010-03-26 14:05:00: (network.c.300) can't bind to port:  80 Address already in use 
                                                                         [fail]
значит, Apache всё равно работает и не даёт работать lighttpd. Это 1-й способ. 2-й - зайти в браузере на несуществующую страницу... там именно Apahce выдал ошибку. Поэтому, всё норм.
Цитата Сообщение от dmkhn Посмотреть сообщение
и еще, как для включения модуля в апаче у убунты есть команда и для выключения модуля
a2dismod. Я так понимаю, что точно также, если ее ввести без указания конкретного модуля она предложит список всего того, что можно выключить. А нормальная логика позволяет утверждать, что выключить можно лишь только то, что вклюено. Таким образом, если в ответ на команду вам предложат список и в нем будет мод_реврайт, то значит он есть и он включен. Собственно немного от убунты про апч
там mod_rewtrite нет, есть просто rewrite
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13441 / 7534 / 831
Регистрация: 09.09.2009
Сообщений: 29,554
26.03.2010, 12:57
Нашел еще вот такой фрагмент конфигуратора апача у себя
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
### Section 2: 'Main' server configuration
#
#
#
#
# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
[COLOR="Red"]# If this is not set to valid DNS name for your host, server-generated
# redirections will not work. [/COLOR] See also the UseCanonicalName directive.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
# You will have to access it by its address anyway, and this will make
# redirections work in a sensible way.
#
#ServerName www.example.com:80
из него получается (выделил), что проблемы переадресации могут быть из-за некорректной конфигурации имени сервера.
1
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
26.03.2010, 13:15  [ТС]
а какое имя сервера "правильное"?
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13441 / 7534 / 831
Регистрация: 09.09.2009
Сообщений: 29,554
26.03.2010, 13:50
ну вот допустим у меня.
зарегистрировано "такое-то" имя в dyndns.
по "такому-то" имени благодаря работе dns-серверов службы dyndns внешние пользователи попадают на мой роутер.
в роутере прописано, что у него во внутренней сети живет сервер на таком-то фиксированном ай-пи с "таким-то" именем.В роутере прописан порт-форвардинг внешних запросов на 80-порт на этот саый сервер на таком-то айпи с "таким-то" именем.
У самого серера (мандрива) его имя прописано, что оно "такое-то".

ВО ВСЕХ СЛУЧАЯХ "такое-то" имя ОДНО И ТО ЖЕ!!! (в моем случае - в профиле есть сайт)

Узнать имя машины в линуксе:
hostname
Узнать "полное" имя машины в линуксе:
hostname -f

ОБА ОТВЕТА ДОЛЖНЫ СОВПАДАТЬ!!!

может рулиться в файле /etc/hosts (в случае, если не используется его (файла) какая-нибудь динамическая генерация каким-нибудь нетворк-менеджером).
1
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
26.03.2010, 14:07  [ТС]
Цитата Сообщение от dmkhn Посмотреть сообщение
ОБА ОТВЕТА ДОЛЖНЫ СОВПАДАТЬ!!!
оба совпадают...
0
Эксперт по компьютерным сетямЭксперт NIX
 Аватар для Dmitry
13441 / 7534 / 831
Регистрация: 09.09.2009
Сообщений: 29,554
26.03.2010, 17:40
ну не знаю, у меня идеи кончились...
0
 Аватар для SunDrop
390 / 229 / 11
Регистрация: 09.12.2009
Сообщений: 668
26.03.2010, 17:59
Переустанови Апач.
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
26.03.2010, 18:05  [ТС]
не помогло... он, похоже, вообще не видит .htaaccess (до переустановки - тоже, нормально опознавал ошибки в этом файле до того времени, пока я не набрал какую-то команду). Потому что я там рандомно что-то наберу - типа всё хорошо, ошибок нет
0
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
30.03.2010, 23:43  [ТС]
а может, вы мне просто покажете, что и куда надо писать, просто мне кажется, я что-то где-то не там разместил... поэтому и не работает
1
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
09.06.2010, 20:56  [ТС]
Я понял, в чём дело! ошибка в самом файле. Надо так:
Code
1
2
RewriteEngine on
RewriteRule id([0-9]) index.php?id=$1 [L]
только, почему-то, на одном сайте при переадресации значение в адресной строке браузера не меняется, а на другом - меняется. На первом сайте немного по-другому -
Code
1
2
RewriteEngine on
RewriteRule (.*)/ index.php?md=$1 [L]
0
 Аватар для SunDrop
390 / 229 / 11
Регистрация: 09.12.2009
Сообщений: 668
09.06.2010, 21:37
Kidalvь, семен-семеныч.
Чего ж я сразу не докумекал.
У тебя "зацикливание" правил пошло.
RewriteRule (.*)/ index.php?md=$1 [L]
1) URL_in = http://xxx.xxx.xxx/id2387 URL_out = http://xxx.xxx.xxx/index.php?md=id2387
2) URL_in = http://xxx.xxx.xxx/index.php?md=id2387 URL_out = http://xxx.xxx.xxx/index.php?md=index.php?md=id....
3) и.т.д.

Решение проблемы:
1) Твой вариант
Code
1
2
RewriteEngine on
RewriteRule id([0-9]) index.php?id=$1 [L]
Тут явно index.php не попадает под правила
2) Запрет на повторный рерайт
Code
1
2
3
RewriteEngine on
RewriteCond !^index.php?id=[0-9]$
RewriteRule id([0-9]) index.php?id=$1 [L]
В RewriteCond указываешь условия УРЛов для которых обработка не нужна.
1
 Аватар для Vladiator
1574 / 645 / 79
Регистрация: 24.02.2009
Сообщений: 9,268
09.06.2010, 21:55  [ТС]
Цитата Сообщение от SunDrop Посмотреть сообщение
RewriteRule (.*)/ index.php?md=$1 [L]
1) URL_in = http://xxx.xxx.xxx/id2387 URL_out = http://xxx.xxx.xxx/index.php?md=id2387
2) URL_in = http://xxx.xxx.xxx/index.php?md=id2387 URL_out = http://xxx.xxx.xxx/index.php?md=index.php?md=id....
3) и.т.д.
это у меня нормально работает...
http://xxx/qwe/ переходит в http://xxx/index.php?md=qwe
Цитата Сообщение от SunDrop Посмотреть сообщение
2) Запрет на повторный рерайт
Internal Server Error
0
 Аватар для SunDrop
390 / 229 / 11
Регистрация: 09.12.2009
Сообщений: 668
11.06.2010, 14:31
Виноват. Ошибка:
Code
1
2
3
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/index.php?id=[0-9]$
RewriteRule id([0-9]) index.php?id=$1 [L]
Только нужно проверить нужен ли / или нет:
RewriteCond %{REQUEST_URI} !^/index.php?id=[0-9]$
1
 Аватар для Vovan-VE
13210 / 6601 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
11.06.2010, 16:07
Цитата Сообщение от SunDrop Посмотреть сообщение
Только нужно проверить нужен ли / или нет
Так RewriteBase никто не отменял
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.06.2010, 16:07

Переадресация
Здравствуйте. Пишу сервис коротких ссылок. Есть страницы: index.php oauth.php goto.php Надо через . htaccess сделать чтобы при...

Переадресация поддоменов
Доброе утро! Если не трудно, мог бы кто-нибудь помочь сформулировать правило .thaccess для следующей задачи: Что есть: 1)...

Переадресация с субдомена
Здравствуйте. Вот в чем дело: делаю разгрузку сервера, для этого создано 3 суббдомена i1.site.ru, i2.site.ru, i3.site.ru. Эти...

Переадресация в .htaccess
На выделенном сервере есть сайт с адресом вида http://xxx.xxx.xxx.xxx:31/dir/ Но вид некрасивый, у своего регистратора создали домен 3-го...

Переадресация в htaccess
Всем доброго времени суток! Пытаюсь обрезать ссылку с помощью htaccess Нужно чтобы с adres.ru/cat/?abc=рандом цифр шла переадресация на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Новые блоги и статьи
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров В текущей версии модели успешно реализован ключевой механизм. . .
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям Реализованные компоненты: Механизм закисления почвы через протонную помпу Конкуренция между типами микориз pH как триггер сукцессии C/ P соотношение. . .
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы ## О чём эта статья В процессе построения ОДУ-модели (система дифференциальных. . .
сукцессия 24. Промежуточное общее описание модели
anaschu 12.07.2026
Хендофф: модель АМ→ЭКМ сукцессии микоризы (ризосфера, 50 лет) Содержание проекта Симуляция вековой (50 лет) экологической сукцессии в почве леса Основные участники: АМ-гриб, ЭКМ-гриб,. . .
сукцессия 23. Более физиологичная физиология, более экологичная экология, более диффурные диффуры.
anaschu 12.07.2026
Что реально нашли и починили за эти 5 часов Правило Линдемана (КПД конверсии сахара в тело, kEff) — раньше 100% полученного углерода шло прямо в биомассу гриба; теперь только kEff=0. 5 (после. . .
сукцессия 22. От артефактов к физиологии: калибровка агентной модели грибной сукцессии для воспроизведения сезонной динамики и pH-плато
anaschu 11.07.2026
Аннотация В данной работе представлена калибровка агентной модели динамики грибных сообществ (fungal-succession), направленная на устранение нефизичных артефактов (коллапс биомассы, мгновенное. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru