Как DirectoryIndex маршрут контроллера?

С моей текущей конфигурацией каждый раз, когда я набираю что-то.com, он показывает app_dev.php, который является правильным из-за моего текущего правила перезаписи. Но я хочу, чтобы пользователь вводил www.something.com, и он автоматически направлялся на www.something.com/home.

примечание: "дом" - это маршрут под одной из моих связок

Это мои текущие настройки

<VirtualHost *:80>
  # Admin email, Server Name (domain name), and any aliases
  ServerAdmin admin@something.com
  ServerName  www.something.com

  # Index file and Document Root (where the public files are located)
#  DirectoryIndex home    # I have already tried this, nothing happens
  DocumentRoot /home/user/public/something.com/web/symfony/web

  # Log file locations
  LogLevel warn
  ErrorLog  /home/user/public/something.com/log/error.log
  CustomLog /home/user/public/something.com/log/access.log combined
</VirtualHost>

.htaccess внутри Symfony/web

<IfModule mod_rewrite.c>
    RewriteRule ^$ app.php/home [L]

    Options +FollowSymlinks
    RewriteEngine On

    # Explicitly disable rewriting for front controllers
   RewriteRule ^app_dev.php - [L]
   RewriteRule ^app.php - [L]

    RewriteCond %{REQUEST_FILENAME} !-f

    # Change below before deploying to production
    RewriteRule ^(.*)$ app.php [QSA,L]
    #RewriteRule ^(.*)$ app_dev.php [QSA,L]

</IfModule>

фактический URL-адрес должен быть www.something.com/app.php/home (текущие правила скрыли app.php)

РЕДАКТИРОВАТЬ: Обновлена ​​база.htaccess на ответы, данные. но все еще не работает

2 ответа

В вашем.htaccess или VirtualHost используйте mod_alias получить временное перенаправление (302). Вам не придется беспокоиться о том, что это конфликтует с перезаписью URL вашего приложения.

Redirect / /home

См. http://httpd.apache.org/docs/current/mod/mod_alias.html

Вставьте RewriteRule на вершине

RewriteRule ^$ home [L]

Это перенаправит на /home, если вы хотите, чтобы клиент видел этот URL, вы должны добавить R флаг к правилу.

Другие вопросы по тегам