2010-01-28 17 views
1

Eh bien, j'ai un hôte partagé et je n'ai pas accès à ssh. Le problème est la structure du serveur et estructure symfony ...Problème de configuration dans mon serveur de production dans symfony

serveur a cette estructure

erreur/ log/ ... web/

et dir web, nous pouvons charger aplication web. .. structure symnfony est ..

app/ .. web/

bien t Le problème est qu'avec mon domaine, si j'essaie d'accéder je dois mettre www.domainname.com/web/ pour accéder au projet symfony ....

1) si j'essaie de copier tout le contenu web symfony répertoire web il rend la première page ok (index.php) mais les liens sont faux car ils sont www.domainame.com/moduleName/ et ce répertoire n'existe pas ...

2) si je crée un fichier .htacces domaine web dir ... quand je mets www.domainname.com il me redirige vers le web automatique, mais les autres liens ont www.domainname.com/web/moduleName/ dans sa direction

Je veux seulement www.domainname.com/moduleName/... comment je peux le faire ???

Il est urgent.

Merci.

modifier1. c'est mon fichier .htaccess ...

Options +FollowSymLinks +ExecCGI 

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    # uncomment the following line, if you are having trouble 
    # getting no_script_name to work 
    #RewriteBase/

    # we skip all files with .something 
    #RewriteCond %{REQUEST_URI} \..+$ 
    #RewriteCond %{REQUEST_URI} !\.html$ 
    #RewriteRule .* - [L] 

    # we check if the .html version is here (caching) 
    RewriteRule ^$ index.html [QSA] 
    RewriteRule ^([^.]+)$ $1.html [QSA] 
    RewriteCond %{REQUEST_FILENAME} !-f 

    # no, so we redirect to our front web controller 
    RewriteRule ^(.*)$ web/index.php [QSA,L] 
</IfModule> 

Edit2. un autre problème lié

.. 
/web/ 
    app/ 
    ... 
    web/ 
/blog/ 

si je modifie, je vais avoir des problèmes d'accès à mon/blog/dir? grâce

Répondre

0

Pour que le/Web à supprimer de l'URL, vous devez utiliser un module apache appelé mod_rewrite. Comme si:

Options +FollowSymLinks +ExecCGI 

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    # uncomment the following line, if you are having trouble 
    # getting no_script_name to work 
    #RewriteBase/

    # we skip all files with .something 
    #RewriteCond %{REQUEST_URI} \..+$ 
    #RewriteCond %{REQUEST_URI} !\.html$ 
    #RewriteRule .* - [L] 

    # we check if the .html version is here (caching) 
    RewriteRule ^$ index.html [QSA] 
    RewriteRule ^([^.]+)$ $1.html [QSA] 
    RewriteCond %{REQUEST_FILENAME} !-f 

    # no, so we redirect to our front web controller 
    RewriteRule ^(.*)$ index.php [QSA,L] 
</IfModule> 

Les docs en sont here.

La bonne façon de configurer symfony consiste à utiliser un hôte virtuel pointé vers le dossier Web. Cela utilisera le dossier web comme votre racine et donc vous ne le verrez pas dans l'URL.

+0

peter ça ne marche pas bien car il me redirige vers le module serveur web .. dans mon fichier .htaccces (i post édité) vous pouvez voir ce qui me fonctionne ... mais seulement quand je mets www.domain.com les autres liens sont ... www.domain.com/web/module et je veux supprimer/web/ – nebur85

+0

je tente de do ... $ this-> setWebDir ($ this-> getRootDir(). '/ web'); et le code que vous collez mais cela ne fonctionne pas ... j'ai édité ma réponse. merci – nebur85

+0

enfin je copie le contenu web (symfony), au web (serveur). changer la route de configuration du projet et cela fonctionne bien avec RewriteRule^(. *) $ index.php [QSA, L] merci. – nebur85

1

.htaccess mod_rewrite

+0

davidosomething ... j'ai édité mon post pour vous montrer mon fichier .htaccess .. ce que je dois modifier- – nebur85