2017-10-17 7 views
-1

최근 개발 상자를 Windows에서 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 

나는 또한 나의 호스트 내가 내 브라우저에 갈 수이 설정으로 지금까지

a2ensite mysite.dev.conf 

를 사용하여 사이트를 활성화 한 후

127.0.0.1 mysite.dev 

파일에 다음 줄을 추가 http://mysite.dev이 나를 홈페이지로 안내하지만 사이트의 다른 페이지로 이동하려고하면 "페이지를 찾을 수 없음"오류가 발생합니다.

나는 이것이 내가 꽤 URL을 사용하고 있다는 사실과 함께 할 수있는 뭔가가있을 수 있습니다 생각 ... 여기 yii2

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

내 urlmanager 컴포넌트 설정이 이후 내가 있는지 내 아파치 설정을 확인 .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

스택 오버플로는 프로그래밍 및 개발 관련 질문에 대한 사이트입니다. 이 질문은 프로그래밍이나 개발에 관한 것이 아니기 때문에 주제와는 거리가 먼 것처럼 보입니다. 도움말 센터에서 [여기에서 내가 질문 할 수있는 항목은 무엇입니까?] (http://stackoverflow.com/help/on-topic)를 참조하십시오. 아마도 [Super User] (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

'Allow'에서'All'까지만'AllowOverride'를 변경하고'Require' 행은 그대로 놔두고 초기 apache2.conf 설정으로 되돌립니다. 'Allow from '은 오래된 아파치 2.2 구문입니다. – clemens321

+0

대단한 !!! 모든 것에 대해 감사드립니다.) – natral