#php #symfony #url-rewriting #apache2
#php #symfony #url-переписывание #apache2
Вопрос:
Я заявляю, что я не программист.
Я устанавливаю несколько PHP-приложений на сервер Apache, следуя инструкциям на веб-сайте программы. Результат всегда один и тот же: запускается URL-адрес, выполняется поиск страницы / входа и появляется одна пустая страница с ошибкой «Не найдено».
Все эти приложения имеют то общее, что все они созданы с помощью Symfony, имеют domain / public в качестве справочной папки и сразу указывают на «виртуальную» папку входа.
Нет никакой помощи от тех, кто разработал программное обеспечение.
Сервер Apache по-прежнему имеет базовую конфигурацию. Это конфигурация виртуальных хостов
<VirtualHost *: 80>
DocumentRoot "/var/www/html/app.mydomain.tld/public_html/name-app/public"
ServerName app.mydomain.tld
<Directory "/var/www/html/app.mydomain.tld/public_html/name-app/public">
allow from all
Options None
Require all granted
</Directory>
ServerAlias * .app.mydomain.tld
</VirtualHost>
и это php-скрипт, который я использовал для тестирования перезаписи, и он прошел успешно.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Bolt htaccess tester.</title>
<link rel="stylesheet" src="//normalize-css.googlecode.com/svn/trunk/normalize.css" />
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body id="home">
<?php
#htaccess tester, version 1.0
echo "<h1>Bolt Apache <tt>.htaccess</tt> tester.</h1>";
if (strpos($_SERVER['REQUEST_URI'], 'htaccess_tester.php') === false) {
echo "<p><tt>mod_rewrite</tt> is working! You used the path <tt>" . $_SERVER['REQUEST_URI'] . "</tt> to request this page.</p>";
} elseif (is_readable(__DIR__.'/.htaccess') ) {
echo "<p>The file .htaccess exists and is readable to the webserver. These are its contents: </p>n<textarea style='width: 700px; height: 200px;'>";
echo file_get_contents(__DIR__.'/.htaccess');
echo "</textarea>";
} else {
echo "<p><strong>Error:</strong> The file .htaccess does not exist or it is not readable to the webserver. <br><br>Retieve a new version of the file here, and place it in your webroot. Make sure it is readable to the webserver.</p>";
die();
}
// echo "<h1>PHPinfo</h1>";
// echo "<p>Below you'll find the specifics of your PHP installation, for debugging purposes.</p>";
// phpinfo();
?>
</body>
</html>
На мой взгляд, программам Symfony нужна определенная конфигурация виртуального хоста в Apache, но, не зная Symfony, я бы даже не знал, куда деть руки.
С другой стороны, те, кто разработал программу, говорят, что плохо знают Apache, возможно, потому, что они использовали только веб-сервер, интегрированный в Symfony.
Надеюсь найти здесь помощь хотя бы о том, как диагностировать проблему.
Заранее спасибо.
Комментарии:
1. Symphony CMS или фреймворк Symfony? Я предлагаю добавить ссылки на используемое программное обеспечение и на инструкции, которые вы уже пробовали.
2. Основываясь на «встроенном веб-сервере», я думаю, мы могли бы сказать, что это Symfony.