gpt4 book ai didi

php - Symfony2 - 如何从我的网址中删除 'web/app_dev.php/'?

转载 作者:可可西里 更新时间:2023-11-01 00:42:58 24 4
gpt4 key购买 nike

当我想让我的 symfony 网站上线时,如何从我的 url 中删除“web/app_dev.php/”?

这是开发过程中的默认 url,

http://{localhost}/my-symfony-2/web/app_dev.php/hello/World

所以当我上线时,我希望能够使用这个 url 访问我的 symfony 网站,

http://my-symfony-2.com/hello/World

有什么想法吗?

最佳答案

要隐藏 app.php 你需要:

  1. 至少可以访问您网站的网络根目录。通常在您的网络托管空间的控制面板上,您可以找到可以上传文件的地方(或者如果您有访问凭证,您可以安装和使用免费的 FTP 客户端,如 Filezilla)。
  2. 检查您是否在 Apache 中安装并启用了 mod_rewrite 模块,查看“apache2handler”下的 phpinfo() ---> “Loaded Modules”目录(您应该有可能直接通过控制面板)。

完成这些检查后,您必须:

注意:Symfony2 已经附带了一个存储在默认 Web 目录中的 .htaccess 文件,但如果您不知道自己在做什么,最好替换指令“IfModule mod_rewrite.c”中包含如下所示的内容。

  1. 使用原生的 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 examplesOfficial URL Rewriting Guide (Apache2.4) .如果您遇到问题,请更新您的帖子并添加所有相关信息,否则您可以在此处提出另一个问题。

关于php - Symfony2 - 如何从我的网址中删除 'web/app_dev.php/'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29145359/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com