2016-12-08 4 views
1

У меня есть корневая папка /вар/WWW/minus_project и только два файла в нем: index.php и .htaccess.Перенаправление все запросы к index.php

Как сделать apache2 перенаправлять все запросы, как localhost.com/minus_project/ некоторые/URL/здесь/... в index.php? Моя конфигурация apache2

<VirtualHost *:80> 
     ServerAdmin [email protected] 
     DocumentRoot /var/www/html 
     Alias /phpinfo /var/www/phpinfo 
     Alias /minus_project /var/www/minus_project 

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

ответ

2

Вот как вы создаете псевдоним и маршрут все, чтобы index.php внутри директории с псевдонимом.

Alias /minus_project /var/www/minus_project 

<Directory /var/www/minus_project> 
    Options Indexes FollowSymLinks MultiViews ExecCGI 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
    Require all granted 

    RewriteEngine On 
    RewriteBase /minus_project/ 

    RewriteRule ^/index\.php$ - [L,NC] 

    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . index.php [L] 
</Directory> 

Место выше фрагменте кода внутри VirtualHost секции и не забудьте перезапустить сервер Apache.

+1

Обратите внимание: контейнеры '' действительны (или фактически необходимы) в основных файлах '.conf', а не в файлах' .htaccess'. Вопрос немного смутный. –

+0

Правда, даже 'alias' не может использоваться в' .htaccess' – anubhava

+0

Хорошо, если только я не запустил ** команду sudo a2enmod rewrite ** перед перезапуском apache. –

Смежные вопросы