Проблема с настройкой на моем производственном сервере в Symfony - PullRequest
1 голос
/ 28 января 2010

Ну, у меня есть общий хост и у меня нет доступа по ssh. Проблема в структуре сервера и структуре symfony ...

Сервер имеет эту структуру

ошибка / журнал/ ... Web /

и в веб-директории мы можем загрузить веб-приложение ... структура symnfony является ..

приложение / .. Web /

Ну, проблема в том, что с моим доменом, если я пытаюсь получить доступ, я должен указать www.domainname.com/web/ для доступа к проекту Symfony ....

1) если я пытаюсь скопировать все содержимое веб-Symfony в веб-каталог, он отображает первую страницу нормально (index.php), но ссылки неправильные, потому что они www.domainame.com/moduleName/, и этот каталог не существует .. .

2) если я создаю файл .htacces в директории веб-домена ... когда я размещаю www.domainname.com, он автоматически перенаправляет меня на веб-страницу, но другие ссылки имеют www.domainname.com/web/moduleName/ в его направление

Я хочу ТОЛЬКО www.domainname.com/moduleName / ... как я могу это сделать ???

Срочно.

Спасибо.

edit1. это мой файл .htaccess ...

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  # uncomment the following line, if you are having trouble
  # getting no_script_name to work
  #RewriteBase /

  # we skip all files with .something
  #RewriteCond %{REQUEST_URI} \..+$
  #RewriteCond %{REQUEST_URI} !\.html$
  #RewriteRule .* - [L]

  # we check if the .html version is here (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ web/index.php [QSA,L]
</IfModule>

edit2. другая проблема, связанная

..
/web/
   app/
   ...
   web/
/blog/

если я изменю это, у меня будут проблемы с доступом к моему / blog / dir? спасибо

Ответы [ 2 ]

1 голос
/ 28 января 2010

.htaccess mod_rewrite

0 голосов
/ 28 января 2010

Чтобы удалить / web из URL, вам нужно использовать модуль apache с именем mod_rewrite. Вот так:

Options +FollowSymLinks +ExecCGI

<IfModule mod_rewrite.c>
  RewriteEngine On

  # uncomment the following line, if you are having trouble
  # getting no_script_name to work
  #RewriteBase /

  # we skip all files with .something
  #RewriteCond %{REQUEST_URI} \..+$
  #RewriteCond %{REQUEST_URI} !\.html$
  #RewriteRule .* - [L]

  # we check if the .html version is here (caching)
  RewriteRule ^$ index.html [QSA]
  RewriteRule ^([^.]+)$ $1.html [QSA]
  RewriteCond %{REQUEST_FILENAME} !-f

  # no, so we redirect to our front web controller
  RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

Документы для этого здесь .

Правильный способ настройки Symfony - использовать виртуальный хост, который указан в веб-папке. Это будет использовать веб-папку в качестве корневого каталога, и поэтому вы не увидите ее в URL.

...