2016-11-27 132 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時 –