Ru-Board.club
← Вернуться в раздел «В помощь системному администратору»

» Apache+mod_rewrite

Автор: Cheery
Дата сообщения: 10.09.2009 08:03
israel_rider
что значит 'получить'?
Прописываете директиву логгирования с путем к файлу, перезапускаете сервер и смотрите
Автор: israel_rider
Дата сообщения: 10.09.2009 08:08
Cheery, плиз, пример, как должна выглядеть эта директива? Остальное я найду по мануалу.
Автор: Cheery
Дата сообщения: 10.09.2009 08:10
israel_rider
неужели сложно заглянуть в документацию модуля?? Там все написано и перечислены все возможные директивы
Автор: alpolle
Дата сообщения: 06.11.2009 16:43
никак не разберусь...
помогите плиз...
есть сайт: site.ru (работает на Апаче), также есть сайт внутри сети на IIS - 192.168.1.0:8080
внутреннему сайту в днс-ах присваиваем имя forum.site.ru.
сделать редирект на него с внешней сети - не проблема, но вот как сделать так, чтобы в адресной строке браузера после редректа не выводило айпишник внутренний, а чтобы эта строка заменялась на forum.site.ru???
всю голову себе изломал...
Автор: slech
Дата сообщения: 10.02.2010 13:25
всем првиет.
кто подскажет почему может не срабатывать 1 правило ?
пришлось всё превести на 2-ое.

Цитата:

RewriteRule ^get_file/([^/]*)/(.*)$ /get_file.php?sg_id=$1&file=$2 [L,QSA]
RewriteRule ^get_file2/([^/]*)/(.*)$ /get_file.php?sg_id=$1&file=$2 [L,QSA]


спасибо
Автор: slech
Дата сообщения: 10.02.2010 23:45
проблема ткого плана

Не срабатывает mod_rewrite если в корне папки присутвует php файл с таким же именем что и преобразуемное выражение

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


Цитата:
RewriteRule ^get_file/([^/]*)/(.*)$ /get_file.php?sg_id=$1&file=$2 [L,QSA]

не сработает с get_file.php но сработает с get_file2.php(если изменить соответсвенно правило)

может есть какие настройки котрые на это влияют ?

Ubuntu 9.10 Apache2 mod_rewrite
Автор: DmitryV
Дата сообщения: 05.04.2010 21:40
Подскажите как заставить запрос типа /%BB или /%%%% завернуть на определенный файл?
RewriteRule ^.*$ index.php - не помогает.
Автор: klimusu
Дата сообщения: 05.10.2010 09:28
Нужно сделать реврайт с http://site.com/forum на http://forum.site.com
RewriteEngine on
RewriteBase /forum/
RewriteRule ^/(.+)$ http://%{HTTP_HOST}%{QUERY_STRING} [L]

все равно подставляет http://forum.site.com/forum

как быть?
Автор: hrushka
Дата сообщения: 28.01.2011 11:36
Здравствуйте уважаемые форумчане.

Прошу сильно не ругать новичка, возможно уже это обсуждалось и не раз, но почти сутки терзания яндекса и гугла, привели меня сюда. Я уже этот вопрос задавал на ответах в гугле, но пока тишина. Вот что меня интересует
В яндексе и в гугле есть такие страницы www.mail.мойдомен.ru/soft/winrar.html forum.мойдомен.ru/soft/winrar.html www.mail.forum.мойдомен.ru/soft/winrar.html и еще куча разных комбинаций, при обращении по таким адресам попадаешь на http://мойдомен.ru/soft/winrar.html После общения с хостером такие адреса стали выдавать "Internet Explorer не может отобразить эту веб-страницу" как с помощью .htacces сделать что бы при заходе с поисковиков посетитель попадал на http://мойдомен.ru/soft/winrar.html с сохранением всего что идет после ru например было http://mail.forum.мойдомен.ru/soft/winrar.html стало http://мойдомен.ru/soft/winrar.html грубо говоря нужно обрезать все что находится перед мойдомен.ru Страницы динамические, движок DLE, ЧПУ включен. а это кусок самого .htacces


Цитата:php_value arg_separator.output "&"
AddHandler server-parsed .htm
php_value register_globals Off
Options -Indexes
Options -MultiViews
DirectoryIndex index.php index.html index.htm admin.html

RewriteEngine On
RewriteBase /
# www
RewriteCond %{HTTP_HOST} ^www\.([^.]+\.ru)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
#index.php
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://admydoor.ru/ [R=301,L]

последнии 8 строк вместе с коментариями это уже я сам добавил, может слишком длиино получилось, но хотел обяснить по подробнее. И еще посылать меня на прочитай тут уже не поможет, мозг расплавился от чтения всего этого. Если кто может написать конкретный пример для моего случая, буду очень благодарен. Спасибо. С уважением Анатолий.
Автор: alexbel31
Дата сообщения: 11.03.2011 09:21
Здравствуйте! Вопрос по mod_rewrite. Есть система на debian, стоит apache. Вообщем подключил модуль командой a2enmod rewrite, поправил файл /etc/apache2/sites-enabled/000-default, т.е. изменил Allow Override None на All, вписал в файле .htaccess RewriteEngine On и правило:
RewriteRule ^news/([A-Za-z0-9]+)$ view_news.php?id=$1
Вообщем проблема в том, что урл никак не хочет преобразовываться в нужный мне, пробовал разные правила, ничего не помогает.

p.s. файл .htaccess сервером читается.
Автор: Adm123
Дата сообщения: 20.04.2011 08:40
Все, сдаюсь! Самому не разобраться...
Поможите, люди добрые..!

Требуется в .htaccess сделать переадресацию таким образом, чтобы http://site.ru/folder/index.php заменялось на http://site.ru/folder/ (т.е. без index.php). Для корня сайта работает конструкция

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://%{HTTP_HOST}/ [R=301,L]

А как для папки такое сделать?

Физическое существование папки не приципиально (хотя предпочтительно, если это возможно, обойтись без такового).

Заранее спасибо!
Автор: Mikanoshi
Дата сообщения: 14.06.2011 14:18

Цитата:
А как для папки такое сделать?

Если для одной папки:

Код: RewriteBase /folder/
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /folder/index\.php\ HTTP/
RewriteRule ^index\.php$ http://%{HTTP_HOST}/folder/ [R=301,L]
Автор: vlary
Дата сообщения: 14.06.2011 17:24
Adm123 По умолчанию http://site.ru/folder/ и так будет работать. Если там есть один из соответствующих файлов, (index.html, index.php, index.cgi и т.п.) прописанных в глобальном DirectoryIndex
Автор: ikar2006
Дата сообщения: 12.10.2011 00:15
Нужна помощь.
Имеется старая htm версия сайта.
В структуре сайта (как западло имеется папка index.php).
Была поставлена задача переделать сайт на Wordpress. Но вот в чем проблема в WP имеется файл index.php.
Папку index.php нельзя переименовывать т.к. сайт находится в индексе.
1. В WP переименовал файл index.php на index1.php
2. на Денвере в фале httpd.conf прописал его первым.
<IfModule dir_module>
DirectoryIndex index1.php index.php index.htm index.html index.shtm index.shtml
</IfModule>
3. файл .htaccess для сайта на WP имеет вид

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index1.php [L]
</IfModule>

# END WordPress
На девере у меня все заработало и сайт на WP и ссылки на старую версию сайта. Но на хостинге работает только старая версия сайта.

У меня вопрос если в настройках хостинга изменить DirectoryIndex как это може повлиять на остальные 300 сайтов которые находятся на хостинге ?

Автор: slech
Дата сообщения: 18.05.2012 23:03
Отвечая на свой вопрос:

Цитата:
Не срабатывает mod_rewrite если в корне папки присутвует php файл с таким же именем что и преобразуемное выражение

-MultiViews - решило проблему.
Автор: Tnav
Дата сообщения: 18.06.2012 02:47
всем привет.

такой вопрос
можно ли через .htaccess настроить редирект с домена:порт на домен2:порт ?
порты разные

PS
я далёк от сабжа, а нужно мне это, что бы по домену можно было коннектиться к cs серверу (=
Автор: Laterport
Дата сообщения: 23.03.2013 19:17
Подскажите, пожалуйста, как сделать следующую вещь...

1. Чтобы при обращении к "файл.php" пропускало, а при указании "файл.php/" выбивало ошибку типа "404 Not Found"
Автор: nightfearr
Дата сообщения: 30.08.2013 15:18
RewriteRule подходящего для себя я не нашел на 16 страницах темы, ну или мне так показалось. По этому напишу свой случай.

Всем привет, уже 2 дня бьюсь над проблемой создания условия, которое превращало бы ссылку типа:
http://www.site.com.ua/?category=name
в:
http://www.site.com.ua/name.

Вот мое представление как оно должно быть:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^site.com.ua
RewriteRule (.*) http://www.site.com.ua/$1 [R=301,L]
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index.php$ / [R=301]

RewriteCond %{REQUEST_URI} ^/([0-9A-Za-z.]+)$
RewriteRule .* http://www.site.com.ua/?category=%1 [R=301,L]

Кто-то может подсказать, что не так?
Автор: prestigo
Дата сообщения: 05.01.2014 12:35
добра всем

очень интересен формат rewritelog
сам честно говоря ничего связного так и не нагуглил
интересует понимание каждого действия + фактическая последовательность преобразований над URL (да, там есть в логе какие-то цифирьки, но только вот допустим (1) - это самое первое действие? если да, то какое из них первее - потому что таких вот (цифра) бывает несколько?..)
Автор: memo
Дата сообщения: 10.09.2015 16:00
Вопрос как-бы простой...

Нужно сделать такое перенаправление:

1 www.site1.com/dir --> http://site2.com/dir

2. site1.com/dir --> http://site2.lt/dir

cPanel генератор создаёт такой скрипик:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^site1\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.site1\.com$
RewriteRule ^dir\/?$ "http\:\/\/site2\.com\/dir" [R=301,L]


Вроде всё правильно, но переадресация не работает:

http://www.site1.com/dir/modules/sections/index.php?op=viewarticle&artid=40
http://www.site1.com/dir/modules/sections/index.php?op=viewarticle&artid=39
http://www.site1.com/dir/modules/sections/index.php?op=viewarticle&artid=37
...и т.д.

Нет перенаправления на:

http://site2.com/dir/modules/sections/index.php?op=viewarticle&artid=40
http://site2.com/dir/modules/sections/index.php?op=viewarticle&artid=39
http://site2.com/dir/modules/sections/index.php?op=viewarticle&artid=37

Где может быть ошибка?
Может быть на хосте что-то не так прописано?

Страницы: 1234567891011

Предыдущая тема: Защита от атак: выбор фаервола и антивируса для сисадмина


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.