2017-10-17 7 views
-1

最近開発ボックスをWindowsからLinuxに変更しました。私は自分のlinux(mint 18.2)ボックスにyii2サイトを設定しようとしています。以前は、xamppを使ってWindows 7のボックスでサイトを実行していました。yii2のWebサイトをWindowsからLinuxに移行すると壊れたリンク

私のミントボックス(/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 

私も私のホストに次の行を追加したが、その後、私は

a2ensite mysite.dev.conf 

を使用してサイトを有効にこれまでのところ、この設定で、私は自分のブラウザに行くことができ

127.0.0.1 mysite.dev 

を提出し、 http://mysite.devは私のホームページに連れて行きますが、私がサイトの他のページに移動しようとすると「ページが見つかりません」というエラーが表示されます。

私はここに私のurlmanagerコンポーネントのセットアップは、私がどうかを確認するために私のApacheの設定を確認し、この後yii2

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

である...これは私はかなりのURLを使っているという事実とは何かを持っているかもしれないと思いました私は.htaccessファイルを許可します。現在の設定があります(/etc/apache2/apache2.conf)。

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

だから私は、次の

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

にそれを変更しかし、私はmysite.devに行くとき今私は "Internal Server Error" を取得します。ここで/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 

からのログエントリは、私は私のセットアップで行うことを忘れています何かがありますか?どんな助けでも大歓迎です。ありがとう

+0

スタックオーバーフローはプログラミングと開発の質問のサイトです。この質問は、プログラミングや開発に関するものではないので、話題にはならないようです。ヘルプセンターの[ここではどのトピックを参照できますか](http://stackoverflow.com/help/on-topic)を参照してください。おそらく、[スーパーユーザ](http://superuser.com/)や[Unix&Linux Stack Exchange](http://unix.stackexchange.com/)の方が良いかもしれません。 – jww

答えて

0

書き換えモジュールを有効にする必要があります。これは多くのディストリビューションでapache2とともに出荷されますが、デフォルトでは有効になっていません。これは助けてください

sudo a2enmod rewrite 
sudo systemctl restart apache2.service 
+0

大変感謝している@ clemens321しかし、これはおそらく無関係の別の問題につながった。今、私は "あなたはこのサーバにアクセスする権限がありません"という禁じられたアクセスエラーを受け取ります。私が家に帰るときに。私がhtaccessファイルを設定する前に、これは起こっていなかったことに注意してください。私はホームページを正しく見ることができました。 – natral

+0

最初のapache2.confの設定に戻り、 'Allow'から' All'に 'AllowOverride'を変更して' Require'行を残してください。 'Allow from'は古いApache 2.2構文です。 – clemens321

+0

素晴らしい!すべてのおかげで;) – natral