Ошибки Symfony 404 - PullRequest
       5

Ошибки Symfony 404

5 голосов
/ 13 января 2012

На моей локальной машине отлично работает созданный мной проект symfony.

Я установил Symfony на свой тестовый сервер, и он работает нормально. Когда я захожу по URL-адресу в браузере, я получаю страницу «Symfony Project Created». Я запустил check_configuration.php, и все проверяется.

Проблема, с которой я столкнулся: я создал свою базу данных и загрузил данные таблицы. Я загрузил файлы с локального компьютера на сервер с FTP. Когда я пытаюсь получить доступ к модулю, который я создал, он выдает ошибку 404:

Не найдено

The requested URL /mymodule was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Вот несколько примеров:

На моем локальном компьютере с использованием MAMP я использую следующий URL, который отлично работает:

http://localhost:8080/frontend_dev.php/mymodule

После того как я загрузил все, если я перехожу на URL сервера тестирования:

http://my.url.com:8090/

Я получаю страницу «Успех проекта» с изображениями и стилями / sf.

НО Если я попытаюсь

http://my.url.com:8090/mymodule

Я получаю сообщение об ошибке 404, как будто страница не существует, из-за чего мне кажется, что smfony не знает о модуле внешнего интерфейса.

Любая помощь?

Ответы [ 2 ]

12 голосов
/ 13 января 2012

Вам нужно будет сделать две вещи:

1) Убедитесь, что mod_rewrite включен в Apache.

2) Дважды проверьте файл .htaccess в корневом каталоге документа, чтобы сделатьуверен, что он указывает на ваш app.php.Что-то вроде:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
3 голосов
/ 04 июня 2013

Раньше у меня тоже была эта проблема, пожалуйста, посмотрите на мои конфигурации и попробуйте их

внутри моего .htaccess:

Привет всем, у меня тоже была эта проблема.И похоже, что «сток» .htaccess это проблема.Я решил это в своей среде, и вот мой .htaccess с примечаниями:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app_dev.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]    ##### this is the part that you should tweak, have the .htaccess point the request to app_dev.php, since the routing.yml is empty initially
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]
    RewriteRule .? %{ENV:BASE}/app_dev.php [L]        ##### this is the part that you should tweak, have the .htaccess point the request to app_dev.php, since the routing.yml is empty initially
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        # When mod_rewrite is not available, we instruct a temporary redirect of
        # the startpage to the front controller explicitly so that the website
        # and the generated links can still be used.
        RedirectMatch 302 ^/$ /app.php/
        # RedirectTemp cannot be used instead
    </IfModule>
</IfModule>

внутри моей записи "symfony" в / etc / apache2 / sites-available:

<VirtualHost 127.0.1.15>
ServerAdmin webmaster@localhost
ServerName symfony
DocumentRoot /var/www/Symfony/web
DirectoryIndex app.php
<Directory /var/www/Symfony/web>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
...