Назад | Перейти на главную страницу

как использовать mod_rewrite в apache для остального приложения

Я не очень разбираюсь в apache, но мне удалось несколько месяцев работать со следующей настройкой на моем тестовом блоке:

me@mydev:/etc/apache2/sites-enabled$ vim 000-default.conf 
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

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

Я создал новое приложение со следующей структурой:

/var/www/html/testrestapp/src/public/index.php

Это работает, но мне нужно перейти к:

http://localhost/testrestapp/src/public/index.php/hello/sometestname

а затем приложение возвращает sometestname

Но я хотел бы знать, как настроить apache, чтобы я мог ориентироваться так:

http://localhost/testrestapp/hello/sometestname

и получите такие же результаты.

Вот как я изменил свой файл 000-default.conf (это единственный файл в папке с поддержкой сайтов, кстати):

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <Directory "/var/www/html/testrestapp/">
            RewriteEngine  on
            RewriteBase    /testrestapp/
            RewriteRule    ^src/public/index.php/hello$  hello/  [R]
        </Directory>

</VirtualHost>

Но у меня это не работает. Все еще получаю 404. Любые предложения будут оценены. Версия Apache - Apache 2.4.12 на ubuntu

Спасибо.