Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как сделать, чтобы работал .htaccess на localhost?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Yan9
Отправлено: 02 Февраля, 2016 - 14:41:55
Post Id


Новичок


Покинул форум
Сообщений всего: 41
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




Добрый день!
У меня не работает .htaccess на localhost.
Хочу сделать банальный редирект, чтобы убрать из адресной строки index.php.
Для этого в httpd.conf поменял AllowOverride none на AllowOverride All и раскомментировал строку LoadModule rewrite_module modules/mod_rewrite.so.
В phpinfo() указано Loaded Modules: mod_rewrite, т.е. должно быть все нормально.
В папке рядом с файлом index.php создал файл .htaccess и в нем написал следующее:
PHP:
скопировать код в буфер обмена
  1. AddDefaultCharset UTF-8
  2. RewriteEngine On
  3. RewriteRule ^index.php$ / [QSA,R]

Но когда пишу localhost/folder/index.php, то появляется главная страница, но и адресная строка остается такой же, т.е. не происходит редиректа на localhost/folder/
Как это исправить, чтобы .htaccess работал?
Спасибо!

Решение, чтобы сервер понимал htaccess!
В httpd.conf вместо
CODE (htmlphp):
скопировать код в буфер обмена
  1. <Directory />
  2.   AllowOverride All
  3.   Require all denied
  4. </Directory>

надо написать
CODE (htmlphp):
скопировать код в буфер обмена
  1. <Directory C:\Server\data\htdocs\folder\>
  2.     AllowOverride All
  3.     Order allow,deny
  4.     Allow from all
  5. </Directory>

где folder\ - это папка, в которой лежит index.php и .htaccess

(Отредактировано автором: 03 Февраля, 2016 - 13:36:15)

 
 Top
sympler
Отправлено: 03 Февраля, 2016 - 00:35:58
Post Id


Новичок


Покинул форум
Сообщений всего: 35
Дата рег-ции: Янв. 2011  


Помог: 0 раз(а)




Yan9 пишет:
Добрый день!
У меня не работает .htaccess на localhost.
Хочу сделать банальный редирект, чтобы убрать из адресной строки index.php.
Для этого в httpd.conf поменял AllowOverride none на AllowOverride All и раскомментировал строку LoadModule rewrite_module modules/mod_rewrite.so.
В phpinfo() указано Loaded Modules: mod_rewrite, т.е. должно быть все нормально.
В папке рядом с файлом index.php создал файл .htaccess и в нем написал следующее:
PHP:
скопировать код в буфер обмена
  1. AddDefaultCharset UTF-8
  2. RewriteEngine On
  3. RewriteRule ^index.php$ / [QSA,R]






Выбирай любой вариант или все сразу Улыбка)
1. Поставь денвер, в нем из коробки все работает, не будешь мучиться
2. Можешь редирект прям в пхп сделать с помощью функции header
3. Регулярку неверно указал, укажи так
RewriteRule index.php$ / [QSA,R]

(Отредактировано автором: 03 Февраля, 2016 - 00:37:58)

 
 Top
Yan9
Отправлено: 03 Февраля, 2016 - 12:37:29
Post Id


Новичок


Покинул форум
Сообщений всего: 41
Дата рег-ции: Авг. 2015  


Помог: 0 раз(а)




sympler пишет:

Выбирай любой вариант или все сразу Улыбка)
1. Поставь денвер, в нем из коробки все работает, не будешь мучиться
2. Можешь редирект прям в пхп сделать с помощью функции header
3. Регулярку неверно указал, укажи так
RewriteRule index.php$ / [QSA,R]


1. Та хотелось бы без Денвера, чтобы понимать как это работает)
2. Да, это было бы самое простое решение, но хочу в целом разобраться с этим файлом и его возможностями и просто начал с самого простого, но сразу столкнулся с проблемой.
3. К сожалению, не работает. У меня не происходит ничего, чтобы я ни писал в htaccess, проблема в том, что он просто игнорируется.
(Добавление)
sympler пишет:
Выбирай любой вариант или все сразу Улыбка)
1. Поставь денвер, в нем из коробки все работает, не будешь мучиться
2. Можешь редирект прям в пхп сделать с помощью функции header
3. Регулярку неверно указал, укажи так
RewriteRule index.php$ / [QSA,R]


Все, получилось сделать так, чтобы сервер видел .htaccess, не до конца оказывается дописал настройки в httpd.conf, описание для таких же, как я, в описании добавлено.

Но теперь проблема с тем, чтобы перенаправиться из localhost/folder/index.php в localhost/folder. Если пишу как в описании, или как вы написали, то меня перекидывает в браузере в каталог localhost, а если написать вот так:
CODE (htmlphp):
скопировать код в буфер обмена
  1. RewriteRule ^.* https://www.google.ru/ [R]

то перехожу на сайт гугл, все норм. Т.е. неправильно написано регулярное выражение. Подскажите, как его подправить, чтобы корректно работало?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB