我是Symfony的初学者并遵循Symfony文档,它有a create page tutorial 在我使用浏览器对此进行测试后创建此内容
我可以使用以下网址访问它
localhost:8000 / lucky / number和
本地主机:8000 / app_dev.php /幸运/数
但是当我尝试使用像
这样的常规方式访问它时localhost / appname / lucky / number
它给了404,我使用Ubuntu和Apache2 localhost所以我需要知道这个Symfony3路由背后的想法以及为什么我不能使用通常的 localhost / cmstest / lucky / number
由于
答案 0 :(得分:0)
因为您必须使用web/
目录(应用程序的公共根目录,所以只能使用浏览器访问此目录)。
使用server:run
时,它会自动使用web/
作为您的服务器根目录。通过目录结构访问时,请将其包含在URL:http://localhost/appname/web/lucky/number
答案 1 :(得分:0)
Hewwo PM-Riabel~
你可以在这里粘贴你的虚拟主机配置吗? 你的第一个问题可能就在其中......
您的计算机上只有一个活动的虚拟主机吗?
我猜你会尝试从Linux中查看它(如果不是这样的话,请纠正我)
您应该为主机文件(myurl.com)设置一个虚拟URL,并将其重定向到127.0.0.1(localhost)
然后,您可以将虚拟主机配置为使用此相同的URL。 (当你想要多个项目时,最好这样做)
亲切,
Preciel。
答案 2 :(得分:0)
在Symfony doc之后,这就是你的vhost应该是这样的:
<VirtualHost *:80>
DocumentRoot /var/www/MySymfonyProject/web
<Directory /var/www/MySymfonyProject/web>
AllowOverride None
Order Allow,Deny
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app.php [QSA,L]
</IfModule>
</Directory>
<Directory /var/www/MySymfonyProject/web/bundles>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
</Directory>
ErrorLog /var/log/apache2/MySymfonyProject_error.log
CustomLog /var/log/apache2/MySymfonyProject_access.log combined
</VirtualHost>
现在你有一个干净的vhost
,这里有一些细节/说明:
a2enmod rewrite
a2dissite 000-default.conf
a2ensite myVhost.conf
/var/www/MySymfonyProject
service apache2 restart
localhost
或localhost/app_dev.php
访问您的网站(您无需指定捆绑名称)