2017-10-17 161 views
-1

最近我將我的開發框從windows更改爲linux。我試圖在我的linux(mint 18.2)盒子上設置一個yii2站點。以前,我使用xampp在Windows 7機器上運行該網站。將yii2網站從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 

我還添加以下行到我的hosts文件

127.0.0.1 mysite.dev 

然後我啓用了使用

a2ensite mysite.dev.conf 

到目前爲止,在此設置的網站,我可以去我的瀏覽器, http://mysite.dev帶我到我的主頁,但當我嘗試導航到網站上的任何其他頁面時,我收到「找不到頁面」錯誤。

我想這可能有一些做的事實,我使用漂亮網址...這裏是yii2

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

我urlManager組件安裝在這之後我檢查我的Apache設置,看是否我允許.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我得到一個「內部服務器錯誤」。下面是從/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

Stack Overflow是編程和開發問題的網站。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。 – jww

回答

0

您需要啓用重寫模塊。這在許多發行版中都與apache2一起發佈,但默認情況下未啓用。這應該有幫助

sudo a2enmod rewrite 
sudo systemctl restart apache2.service 
+0

非常感謝@ clemens321,但這導致了另一個問題,可能無關。現在,我收到一條禁止訪問錯誤消息,內容爲「您無權訪問/在此服務器上」。當我嘗試回家時。請注意,在配置htaccess文件之前,沒有發生這種情況,在此之前我可以正確地看到主頁...任何想法? – natral

+0

請僅將'AllowOverride'從'None'更改爲'All'並退出'Require'行,以恢復到最初的apache2.conf設置。 'Allow from'是舊的apache 2.2語法。 – clemens321

+0

太棒了!感謝一切;) – natral