Amazon Linux에서 mod_rewrite 활성화


9

Amazon Linux 인스턴스에서 mod_rewrite를 활성화하려고합니다. 내 디렉토리 지시문은 다음과 같습니다.

<Directory />
    Order deny,allow
    Allow from all
    Options None
    AllowOverride None
</Directory>

<Directory "/var/www/vhosts">
    Order allow,deny
    Allow from all
    Options None
    AllowOverride All
</Directory>

그리고 httpd.conf에서 아래로 LoadModule지시어가 있습니다.

... other modules...
#LoadModule substitute_module modules/mod_substitute.so
LoadModule rewrite_module modules/mod_rewrite.so
#LoadModule proxy_module modules/mod_proxy.so
... other modules...

Wordpress에 필요하지 않은 모든 Apache 모듈을 주석 처리했습니다.

여전히 http restart를 실행 한 다음로드 된 모듈을 확인하면 다음과 같은 결과 /usr/sbin/httpd -l만 얻습니다.

[root@foobar]# /usr/sbin/httpd -l
Compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c

Wordpress 사이트가 포함 된 가상 호스트 내부에는 다음이 .htaccess포함되어 있습니다.

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

.htaccess는 apache가 소유 한 apache가 소유합니다. apachectl -t명령이 리턴Syntax OK

/etc/httpd/conf.d/vhosts.conf모습은 다음과 같습니다.

<VirtualHost *:80>
     ServerAdmin foobar@gmail.com
     ServerName foobar.net
     ServerAlias www.foobar.net
     DocumentRoot /var/www/vhosts/foobar/
     ErrorLog /var/www/vhosts/foobar/logs/error.log
     CustomLog /var/www/vhosts/foobar/logs/access.log combined
</VirtualHost>

내가 무엇을 잘못하고 있지? 무엇을 확인해야합니까?

답변:


5

LoadModule 지시문은 모듈을 동적으로로드합니다.

RewriteEngine on가상 호스트에서 발급 한 후 apachectl -t날씨가 실제로 모듈이로드되었는지 확인하십시오.


안녕하세요, 답변 주셔서 감사합니다. 지적한 내용에 대한 질문에 더 자세한 내용을 추가했습니다. RewriteEngine이 켜져 있고 apachectl -t가 구문 OK를 리턴하지만 여전히 작동하지 않습니다.
Lorenzo

마지막 의견을 삭제하여 죄송합니다. 당신은 wordpress .htaccess 파일에서 이것을 가져 왔습니다? VHost 구성에서 AllowOverride가 모두 활성화되어 있습니까?
제임스 파크-와트

안녕하세요 제임스, WP에서 가져 왔습니다. 예, DocumentRoot의 하위 디렉토리에 대한 AllowOverride가 All로 설정되어 있습니다.
Lorenzo

이것을 시도하십시오 : 서버 구성에서 -하지 htaccess로 라인을 추가 RewriteEngine On하고 RewriteRule ^.*$ http://www.wordpress.org/ [R]확인하기 위해 재 작성이 전혀 작동하는지 확인합니다. 모든 트래픽을 Wordpress 웹 사이트로 전달해야합니다.
James Park-Watt

WP에서 .htaccess를 삭제하고 제안한 변경을 수행했지만 작동하지 않습니다.
Lorenzo

5

나는 방금 신선한 아마존 리눅스를 시작했고 같은 문제가 Options FollowSymLink있었고 거기에 있었지만 다음 줄 AllowOverride NoneAllowOverride All


3

구성이 정확했지만 필요했습니다

Options FollowSymLink

mod_rewrite가 작동하려면 httpd.conf의 DocumentRoot 선언에서.


1

이 문제에 대한 해결책을 얻었습니다 .....

구성 파일에서 아래 로 변경 AllowOverride None했습니다 AllowOverride all. Options Indexes FollowSymLinks/etc/httpd/conf/httpd.conf

감사!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.