Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: ubuntu11.10. apache2 сокрытие index.php через .htaccess  (Прочитано 5482 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Здравствуйте.Установил apache2.Разместил там сайт.В сайте требуется скрыть файл index.php при помощи .htaccess. Как поступить? Нашел как включить  .htaccess сделал как там написано не почувсвовал.Кстати он и по ftp - не виден.Файл конечно в сайт вставил но он ничего не скрывает.
RewriteEngine on
AddDefaultCharset utf-8
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?$1 [L]
вот такого вида у меня этот файл.Хочу добавить,что сайт находится в home/maxcim/www обычно рабочая директория var/www 
« Последнее редактирование: 18 Июня 2012, 16:30:06 от ottawa1 »

Оффлайн Сперанский

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4055
  • Dictum ac factum
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #1 : 18 Июня 2012, 17:50:24 »
У меня через .htacess не получилось это сделать. Получилось через правку /etc/apache2/httpd.conf- в нем можно указывать те же правила, что и в .htacess.
<Directory "/var/www">
RewriteEngine on
 
RewriteBase /
 
RewriteRule ^$                        doku.php  [L]
RewriteCond %{REQUEST_FILENAME}       !-f
RewriteCond %{REQUEST_FILENAME}       !-d
RewriteRule (.*)                      doku.php?id=$1  [QSA,L]
</Directory>
вам соответственно нужно поменять /var/www и doku.php в этом файле.
активировать модуль rewrite
sudo a2enmod rewriteи перезапустить apache2
sudo service apache2 restart

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #2 : 18 Июня 2012, 18:15:05 »
Пупизоид,
добавить первую строку.
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.soбудет работает .htaccess и RewriteEngine on ....
Wars ~.o

Оффлайн Сперанский

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4055
  • Dictum ac factum
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #3 : 18 Июня 2012, 18:19:57 »
Пупизоид,
добавить первую строку.
будет работает .htaccess и RewriteEngine on ....
LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.soи
sudo a2enmod rewriteидентичные команды.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #4 : 18 Июня 2012, 18:35:32 »
верно, одинакого, как ты неработает?))
дефаулт
(Нажмите, чтобы показать/скрыть)
/var/www/.htaccess
(Нажмите, чтобы показать/скрыть)

Пользователь решил продолжить мысль 18 Июня 2012, 18:44:10:
например /var/www/index.sh и chmod +x /var/www/index.sh
(Нажмите, чтобы показать/скрыть)
сайт
h++://localhost/index.htm
« Последнее редактирование: 18 Июня 2012, 18:44:10 от victor00000 »
Wars ~.o

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #5 : 19 Июня 2012, 09:55:36 »
Приветствую.httpd.conf -был пустой.Добавил туда это выражение
<Directory "/home/maxcim/www/mysine.su>
RewriteEngine on
 
RewriteBase /
 

RewriteCond %{REQUEST_FILENAME}       !-f
RewriteCond %{REQUEST_FILENAME}       !-d
RewriteRule ^(.*)$ /index.php?$1 [L]                     
</Directory> ничего не получилось. т.е.1). .htaccess не стал видимым по ftp.2).при переходе по страницам сайта при исключении в адресе index.php тоже не идет(404-страница вылазит)получается index.php не убралось.Как проверить действует ли как нибудь это выражение,можно ли закрыть доступ к сайту например?

Оффлайн Сперанский

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4055
  • Dictum ac factum
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #6 : 19 Июня 2012, 11:03:59 »
Приветствую.httpd.conf -был пустой.Добавил туда это выражение

ничего не получилось. т.е.1). .htaccess не стал видимым по ftp.2).при переходе по страницам сайта при исключении в адресе index.php тоже не идет(404-страница вылазит)получается index.php не убралось.Как проверить действует ли как нибудь это выражение,можно ли закрыть доступ к сайту например?
Во-первых httpd.conf не мог быть пустой, потому что чтобы сервер начал обрабатывать .htaccess туда надо прописать
<Directory /путь/к/рабочей/папке>
   AllowOverride AuthConfig FileInfo Limit
</Directory>
Во-вторых объясните на пальцах что вы хотите сделать. Зачем вам видимый .htacess? если добавили правила в httpd.conf, то его можно удалить вообще.
Эти действия нацелены на визуальное вычищение адресной строки, вместо mysite.com/index.php будет отображаться mysite.com, они не влияют на доступ к сайту- это вообще из другой оперы по-моему.
Работоспособность проверяется при вводе имени домена и после перехода на страницу контроле отсутствия index.php.

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #7 : 19 Июня 2012, 12:55:47 »
Привет.Спасибо за помощь.Может что нибудь и получится.Конечно виден .htaccess или не виден не важно.Лишь бы работал.Вот я вставил в httpd.conf <Directory "/home/maxcim/www/mysite.su">
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME}       !-f
RewriteCond %{REQUEST_FILENAME}       !-d
RewriteRule ^(.*)$ /index.php?$1 [L]                     
</Directory>
убрал .htaccess.Убрал index.php при открытии одной из страниц.активировал модуль rewrite перезапустил апач.все равно не получается выходит на страницу 404.Что не так? работает ли эта конструкция просто? как проверить? Записать между этими <Directory></Directory> что то проверенное например запрет доступа к сайту или к папке.Как это сделать?

Оффлайн Сперанский

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4055
  • Dictum ac factum
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #8 : 19 Июня 2012, 13:06:23 »
При рестарте apache2 ошибок нет?В принципе если нет, то схема работает.при переходе по адресу mysite.com он трансформируется? что в адресной строке после загрузки страницы 404?

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #9 : 19 Июня 2012, 14:35:10 »
http://mysite.su/pages/slav (убрал index).php 404 страница.http://mysite.su/index.php/pages/slav  все нормально.т.е.не скрадывает index.php

Оффлайн Сперанский

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4055
  • Dictum ac factum
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #10 : 19 Июня 2012, 14:41:03 »
После
RewriteBase /нужно добавить еще строку:
RewriteRule ^$                        index.php  [L]

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #11 : 19 Июня 2012, 15:32:53 »
при рестарте апач Syntax error on line 4 of /etc/apache2/httpd.conf:
RewriteRule: bad argument line '^$'
Action 'configtest' failed.
The Apache error log may have more information.
   ...fail!
в общем ошибка.код получился такого вида <Directory "/home/maxcim/www/mysite.su">
RewriteEngine on
RewriteBase /
RewriteRule ^$
RewriteCond %{REQUEST_FILENAME}       !-f
RewriteCond %{REQUEST_FILENAME}       !-d
RewriteRule ^(.*)$ /index.php?$1 [L]                     
</Directory>
уже с добавлением строки

Оффлайн Сперанский

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 4055
  • Dictum ac factum
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #12 : 19 Июня 2012, 15:40:09 »
Как вы сделали- правило не полное, попробуйте ещё раз, может символ какой вставился.
В общем у меня вот так работает:
<Directory "/var/www">
RewriteEngine on
 
RewriteBase /
 
RewriteRule ^$                        doku.php  [L]
RewriteCond %{REQUEST_FILENAME}       !-f
RewriteCond %{REQUEST_FILENAME}       !-d
RewriteRule (.*)                      doku.php?id=$1  [QSA,L]
</Directory>
В последней строке один символ $ лишний был почему то...

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #13 : 19 Июня 2012, 16:15:16 »
это я
.htaccess
добавить и заработало, а httpd.conf и рестарт ненужно то отдыхай.
RewriteRule ^$ index.sh  [L]
нормально
:)
Wars ~.o

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: ubuntu11.10. apache2 сокрытие index.php через .htaccess
« Ответ #14 : 19 Июня 2012, 16:47:56 »
doku.php  [L]и doku.php?id=$1  [QSA,L]что такое doki?

 

Страница сгенерирована за 0.029 секунд. Запросов: 25.