Проблема с конфигурацией моего производственного сервера в Symfony

StackOverflow https://stackoverflow.com/questions/2156696

  •  23-09-2019
  •  | 
  •  

Вопрос

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

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

журнал ошибок/ ...сеть/

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

приложение/ ..сеть/

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

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

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

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

Это срочно.

Спасибо.

редактировать1.это мой файл .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>

редактировать2.еще одна проблема, связанная

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

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

Это было полезно?

Решение

Чтобы удалить /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-адресе.

Другие советы

.htaccess mod_rewrite

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top