2016-11-27 133 views
0

我是Symfony的新共享主机。在共享主机中运行Symfony3项目文件夹

使用交友的应用程序安装选项安装一个Symfony和取得称为页关于它的工作就像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> 
+0

如果删除.htaccess并尝试访问www.domain.com/symfony/about会发生什么情况? 你有SSH访问权限吗? –

+0

我得到“内部服务器错误”和SSH访问是的,我通过它做了什么? –

+0

我想你可以在这里找到解决方案:http://stackoverflow.com/questions/31426989/how-can-i-deploy-symfony-in-a-subdirectory 额外信息:http://symfony.com/doc/ current/configuration/override_dir_structure.html#override-the-web-directory –

回答

1

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

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

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

+0

我试图通过添加addon域名来解决这个问题,它的工作需要50%左右,但另一个页面应该像www.domain.com/about一样工作,现在它的网址就像www一样。 domain.com/app_dev.php/about –

+0

也许更新你的重写基本规则? – mickadoo

+0

更新了以下的.htaccess但没有用 ' RewriteEngine叙述在 的RewriteCond%{REQUEST_FILENAME}!-f 重写规则^(。*)$网/ $ 1 [QSA,L] ' –

0

访问你的应用程序中使用默认的.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> 

此外,要确保mod_rewrite是上启用PHP的conf。

+0

.htacess文件显示的位置是? www.domain.com/symfony/.htaccess? –

+0

是的,确切地说。由Symfony提供的默认.htaccess除了base/web /覆盖以外的所有工作,因为它可能会改变,这取决于你的网络主机 –

+0

我试过但没有成功,我看到404当我查看www.domain.com/symfony并工作时当我看到www.domain.com/symfony/web时 –