Symfony2 - 如何从我的网址中删除'web/app_dev.php /'?
当我想让我的symfony网站上线时,如何从我的网址中删除'web/app_dev.php /'?Symfony2 - 如何从我的网址中删除'web/app_dev.php /'?
这是发展过程中的默认网址,
http://{localhost}/my-symfony-2/web/app_dev.php/hello/World
所以,当我去住,我希望能够用这个URL来访问我的symfony的网站,
http://my-symfony-2.com/hello/World
任何想法?
要隐藏app.php
您需要:
- 。通常在你的虚拟主机空间的控制面板上,你可以找到你可以上传你的文件(或者如果你有访问凭据,你可以安装和使用免费的FTP客户端,如Filezilla)。
- 检查您是否已安装
mod_rewrite
模块并在Apache中启用,在“apache2handler”--->“Loaded Modules”目录下查看phpinfo()
(您应该直接通过控制面板获得该可能性)。
这些检查,你必须经过:
注意:Symfony2中已经自带存储在默认web目录的.htaccess
文件,但如果你不知道你在做什么,最好更换指令在“IfModule mod_rewrite.c”中进行组合,如下所示。
-
使用本机的Symfony2
.htaccess
或创建一个新的文件与.htaccess
延伸和复制/粘贴这些指令里面隐藏在生产中(而不是在本地主机)app.php
:<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteRule ^app\.php(/(.*)|$) %{CONTEXT_PREFIX}/$2 [R=301,L] RewriteRule .? - [L] RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^(.*)$ app.php [QSA,L] RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$ RewriteRule ^(.*) - [E=BASE:%1] RewriteRule .? %{ENV:BASE}app.php [L] </IfModule> # and from the symfony's original <IfModule !mod_rewrite.c> <IfModule mod_alias.c> # When mod_rewrite is not available, we instruct a temporary redirect of # the start page 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>
要应用需要重新启动Apache的修改(这通常也会在您的网络空间的控制面板上进行)。
谷歌搜索了一下,你可以找到吨的例子和教程,但要开始学习看看这个简单的.htaccess guide with many useful infos and examples和Official URL Rewriting Guide (Apache2.4)。如果您遇到一些问题,请更新您的帖子,添加所有相关信息,否则您可以在此处提出另一个问题。
非常感谢您的答案! – oasis 2015-03-21 07:21:16
如果您有权访问部署服务器,则可以从终端使用: php app/console cache:clear --env=prod
并且这将清除prod缓存,您将能够使用标准路由。
但如果你是在托管,你还没有接触到终端部署应用程序,需要找到app/cache/*
和app/logs/*
,并删除他们的内容和之后添加适当的权限(766 | 777)的文件夹。
感谢您的答案。我无法在托管服务器上执行命令行。我不明白这一点 - “需要找到应用程序/缓存/ *和应用程序/日志/ *并删除它们的内容,并在为文件夹添加适当的权限(766 | 777)。” – oasis 2015-03-19 13:18:56
复制完所有代码在服务器上,浏览到文件夹'app/cache /'和'app/logs'删除文件夹中的所有内容,为文件夹添加读写权限 – 2015-03-19 13:29:19
[如何从Symfony2网址中删除“web/app \ _dev.php”?](http://*.com/questions/9669458/how-to-remove-web-app-dev-php -from-symfony2-urls) – 2015-03-19 13:11:43
我碰到过那个,但它没有接受答案。我怎么知道这是正确的答案呢? – oasis 2015-03-19 13:13:07
您是否**尝试**提供的任何解决方案? – 2015-03-19 13:13:59