2014-07-26 3 views
1

저는 Yii2 프로젝트를 작업 중이며 Wamp Localhost에서 설정했습니다. 내 WAMP 나는 별명 설정 한 : 나는 웹 디렉토리에 htaccess로 파일을 배치 한 기본 응용 프로그램에서Htaccess Yii 2 Configuration

Alias /project "c:/Users/Shaun/Desktop/projects/project/web/" 

<Directory "c:/Users/Shaun/Desktop/projects/project/web/"> 
    AllowOverride all 
</Directory> 

프로젝트/웹/htaccess로 (이것은 현재까지를 가리키는 경우)

프로젝트/웹/index.php에

프로젝트/웹/인덱스 test.php

,536,

mod_rewrite를 확실히 사용하도록 설정했는지 확인했습니다. 문제없이 내 루트로 이동할 수 있습니다.

이것은 Yii2 문서에 나와있는 htaccess 파일입니다.

RewriteEngine on 

# If a directory or a file exists, use the request directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
# Otherwise forward the request to index.php 
RewriteRule . index.php 


http://localhost/project/ 

위에서 url로 이동하면 SiteController 색인 작업이 정상적으로 작동합니다. 내가 예를 들어 이동하려고 할 때 :

http://localhost/project/site/index 

그것은 상태 :

요청 된 URL /Users/Shaun/Desktop/projects/project/web/index.php이 찾을 수 없습니다 섬기는 사람.

하지만 분명히 있습니다. 내 web.php 구성이 구성 요소로 표시되면 활성화했습니다 :

'urlManager' => [ 
     'enablePrettyUrl' => true, 
     'showScriptName' => false, 
    ] 

여전히 찾을 수 없습니다. 하지만이 방법을 사용하면 경로가 잘 표시됩니다.

http://localhost/project/index.php/site/index 

나는 이것을 원하지 않으므로 실망합니다. 여기 거래는 뭐니?

감사합니다.

+0

은 다시 쓰기 모듈을 사용할 수 있습니까? – Manquer

+1

"mod_rewrite를 사용하도록 설정했습니다." – SMKS

+0

사과를 받았습니다. 문제의 라인을 놓쳤습니다. 일반적으로 mod_rewrite가 제대로 설정되지 않았거나 .htaccess에 파일 권한이 올바르게 설정되어 있지 않습니다. 당신이 윈도우에있는 것처럼). .. 아파치 conf에서 오버라이드 대신에 직접 설정을 시도하고 서버를 완전히 재시작하십시오. – Manquer

답변

0

프로젝트 구조가 약간 비현실적인 것 같습니다. 폴더 웹에 다른 프로젝트 폴더가 있습니까?

대답이 '예'인 경우 .htaccess 파일을이 프로젝트 폴더에 넣어야합니다.

그러나 프로젝트 폴더에 웹이 포함되어 있으면 상당히 비현실적입니다. 그러나이 경우에도 .htaccess 파일은 프로젝트 폴더에 있어야합니다. 가상 디렉토리에서 작업하기 때문에

+0

문제 컨텍스트에 대해 읽지 않은 것 같습니다. 그 Yii 2 관련 물건. –

3

(예를 들어, 별칭/사이트/"/ 디렉토리 /"), 당신은 당신의 아파치 설정 파일에

RewriteBase /site/ 

를 사용해야합니다.

0

AllowOverride All을 httpd.conf 또는 귀댁의 conf에 설정하십시오.
예쁜 URL로 작업하려면 필수 항목입니다.

-1

세 개의 파일을 변경해야합니다.
basic>.htaccess로
기본> 웹> htaccess로
기본> 설정> web.php

를 사용하여 아래의 URL에서 주어진 코드입니다.

http://www.codematrics.com/htaccess-in-yii2-basic-app/

이 당신을 도울 것입니다.

+0

이것을 Apache Alias ​​지시어와 함께 사용하면 충분하지 않음을 알 수 있습니다. RewriteBase가 문제입니다. –