【问题标题】:Run Symfony3 project folder in Shared hosting在共享主机中运行 Symfony3 项目文件夹
【发布时间】:2016-11-27 11:35:27
【问题描述】:

我是共享主机的 Symfony 新手。

使用 Cpanel 应用程序安装选项安装了一个 symfony,并创建了一个名为 about 的页面,它的工作方式类似于 www.domain.com/symfony/web/app_dev.php/about 但我想知道如何让它像关注 www.domain.com/symfony/about 这怎么可能?

我像下面这样写了.htaccess,但没有成功,

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /symfony/web/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ app_dev.php [QSA,L]
</IfModule>

【问题讨论】:

标签: php .htaccess symfony


【解决方案1】:

我假设您在共享主机上使用 Apache(这是最常见的)。

这里的问题是您的站点的文档根目录设置为 app_dev.php 文件上方两级的目录。

您应该为您的应用添加一个子域,该子域指向您的 symfony/web 文件夹作为根。您可以在 cPanel 中配置子域找到documentation。一旦运行,您应该能够在 symfony.yourdomain.com 访问您的应用程序

【讨论】:

  • 我通过添加插件域尝试了你的方式,它的工作需要大约 50%,但是另一个页面应该像 www.domain.com/about 现在它像 www.domain.com/app_dev.php/ 一样工作关于
  • 更新了以下 .htaccess 但没有用 &lt;IfModule mod_rewrite.c&gt; RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ web/$1 [QSA,L] &lt;/IfModule&gt;
  • 我认为你的重写规则需要指向 app_dev.php 检查默认的 symfony 一个
  • 抱歉,听不懂。并且没有 .htaccess 文件默认值。
  • here 是默认的 Symfony .htaccess 文件
【解决方案2】:

使用默认的.htaccess,你应该可以到达www.domain.com/symfony/web/about

要覆盖 web 目录,您可以在基本目录上使用此 .htaccess(与 composer.json 等级别相同)

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ web/$1 [QSA,L] 
</IfModule> 

另外,您要确保在您的 PHP conf 中启用了 mod_rewrite

【讨论】:

  • .htacess 文件显示在哪里? www.domain.com/symfony/.htaccess ?
  • 是的,完全正确。 Symfony 提供的默认 .htaccess 适用于除基本 /web/ 覆盖之外的所有内容,因为它可能会根据您的虚拟主机而改变
  • 我试过但没有成功,当我查看 www.domain.com/symfony 时看到 404,而当我看到 www.domain.com/symfony/web 时我看到了 404
猜你喜欢
  • 2017-07-26
  • 2018-07-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-31
  • 2015-05-17
  • 1970-01-01
  • 2019-08-01
相关资源
最近更新 更多