0

server.config 폴더에 다음 내용으로 .ebextensions/ 폴더에 파일을 만들고 Apache/PHP Elastic Beanstalk 인스턴스에 배포했지만 내 URL을 가장 잘 나타내 보이지 않습니다. ..Elastic Beanstalk의 RewriteRule이 작동하지 않습니다.

files: 
"/etc/httpd/conf.d/ssl_rewrite.conf": 
    mode: "000644" 
    owner: root 
    group: root 
    content: | 
     RewriteEngine On 

     RewriteRule ^(.*)index\.php$ /$1     [R=301,NC] 
     RewriteRule ^terms$   /tac.php   [NC,L] 
     RewriteRule ^info$   /information.php [NC,L] 
     RewriteRule ^visit$   /visit.php   [NC,L] 

은 간단한데,하지만 404 예를 들면 mysite.com/terms 결과 (mysite.com/tac.php 잘 작동하는 반면).

바보 같은 일을 한 적이 있습니까 (가능성이 높습니다), 아니면 내 EB 인스턴스의 구성에서 무언가를 활성화해야합니까?

답변

0

어리 석음이있었습니다. 이 규칙 (서면 작성)은 *.conf이 아니고 .htaccess이어야합니다.

현재의 차이점에 대해 자세히 알아볼 수 있습니다 : http://tltech.com/info/rewriterule-in-htaccess-vs-httpd-conf/

아파치는 RewriteRule의 또는한다 RewriteCond 지시어가 <Directory> 블록 내부에 배치 여부에 따라 다른 일을 일치합니다. 그리고 .htaccess 파일의 모든 내용은 디렉토리 컨텍스트에있는 것으로 간주됩니다.

.htaccess 파일의 규칙은 블록의 규칙과 동일한 방식으로 동작합니다. 규칙이 블록 외부에서 작동하는 방식과 다릅니다. 이러한 지식을 바탕으로 규칙을 <Directory> 블록으로 이동하면 httpd.conf 파일을 수정할 수 있습니다