2017-10-17 14 views
-1

Récemment, j'ai changé ma boîte de développement de windows à linux. J'essaye d'installer un site de yii2 sur ma boîte de Linux (menthe 18.2). Auparavant, j'avais le site en cours d'exécution sur une boîte de Windows 7 avec xampp.migration d'un site Web yii2 de windows à linux, liens brisés

Voici mon fichier hôte virtuel dans ma boîte à outils (/etc/apache2/site-available/tripcopilot.com).

<VirtualHost *:80> 

    ServerAdmin [email protected] 
    ServerName mysite.dev 
    ServerAlias www.mysite.dev 
    DocumentRoot /var/www/mysite/web 

    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 

</VirtualHost> 

# vim: syntax=apache ts=4 sw=4 sts=4 sr noet 

J'ai aussi ajouté la ligne suivante à mes hôtes fichier

127.0.0.1 mysite.dev 

alors j'ENABLED le site en utilisant

a2ensite mysite.dev.conf 

Jusqu'à présent, avec cette configuration, je peux aller à mon navigateur et http://mysite.dev m'emmène à ma page d'accueil mais quand j'essaye de naviguer vers n'importe quelle autre page sur le site j'obtiens une erreur «page non trouvée».

Je pensais que cela pourrait avoir quelque chose à voir avec le fait que j'utilise jolies urls ... Voici ma configuration des composants urlManager dans yii2

'urlManager' => [ 
      'enablePrettyUrl' => true, 
      'showScriptName' => false, 
      'enableStrictParsing' => false, 
      'rules' => [ 
       "home" => "site/index", 
       "login" => "site/login", 
       "sign-up" => "site/sign-up", 
       "search" => "site/search" 
      ], 
     ], 

Après cela, j'ai vérifié mes paramètres apache pour voir si J'autorise les fichiers .htaccess. Voici la configuration actuelle (/etc/apache2/apache2.conf).

<Directory /var/www/> 
    Options Indexes FollowSymLinks 
    AllowOverride None 
    Require all granted 
</Directory> 

donc je l'ai changé à la

<Directory /var/www/> 
    Options Indexes FollowSymLinks 
     AllowOverride All 
     Order allow,deny 
     Allow from all 
</Directory> 

Mais maintenant, quand je vais à mysite.dev je reçois un "Internal Server Error" suivant. Voici l'entrée du journal de /var/log/apache2/error.log

[Tue Oct 17 15:30:37.366255 2017] [core:alert] [pid 17889] [client 127.0.0.1:41082] /var/www/mysite/web/.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration 

Y at-il quelque chose que je oubliais de faire dans ma configuration? Toute aide serait grandement appréciée. Merci

+0

Stack Overflow est un site pour les questions de programmation et de développement. Cette question semble être hors sujet car il ne s'agit pas de programmation ou de développement. Voir [Quels sujets puis-je poser à ce sujet?] (Http://stackoverflow.com/help/on-topic) dans le centre d'aide. Peut-être [Super User] (http://superuser.com/) ou [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) serait un meilleur endroit à demander. – jww

Répondre

0

Vous devez activer le module de réécriture. Ceci est livré avec apache2 dans de nombreuses distributions, mais pas activé par défaut. Cela devrait aider

sudo a2enmod rewrite 
sudo systemctl restart apache2.service 
+0

Un grand merci @ clemens321 mais cela a conduit à un autre problème, probablement sans rapport. Maintenant, je reçois une erreur d'accès interdit disant "Vous n'avez pas la permission d'accéder/sur ce serveur". quand j'essaye d'aller à la maison. Notez que cela ne se passait pas avant de configurer le fichier htaccess, je pouvais voir la page d'accueil correctement avant cela ... Des idées? – natral

+0

Veuillez revenir à la configuration initiale d'apache2.conf avec seulement la modification 'AllowOverride' de' None' à 'All' et laisser la ligne' Require'. 'Allow from' est l'ancienne syntaxe d'Apache 2.2. – clemens321

+0

Super !!! Merci pour tout ;) – natral