Проблема с конфигурацией моего производственного сервера в Symfony
-
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