2013-04-22 3 views
1

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

примечания: «дом» является маршрутом под одним из моей пачки

Это есть мои текущие конфигурации

<VirtualHost *:80> 
    # Admin email, Server Name (domain name), and any aliases 
    ServerAdmin [email protected] 
    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/веб

<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)

EDIT: Обновлена ​​база .htaccess по предоставленным ответам. но до сих пор не работает

ответ

0

Вставьте RewriteRule в верхней

RewriteRule ^$ home [L] 

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

+0

возвращается/дом не нашел в этом сервере. На самом деле мой оригинальный url выглядит как www.something.com/app.php. моя текущая конфигурация скрывает app.php, и мне нужно иметь это на каждой странице. Короче, я должен был http://www.something.com/app.php/home, когда я попробовал то, что предложил. он удаляет app.php – Teffi

+0

@Saber. См. обновленный ответ. –

+0

все еще не работает. 404 Не Найдено. вот фактическая ссылка -> cloud-pod.net возвращает 404, а cloud-pod.net/home возвращает страницу. – Teffi

0

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

Redirect//home 

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

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