Alias ​​지시문은 이전 Alias와 겹치기 때문에 절대로 일치하지 않을 수 있습니다.

Alias ​​지시문은 이전 Alias와 겹치기 때문에 절대로 일치하지 않을 수 있습니다.

이게 원본글이에요서버 장애:

내 httpd.conf 파일의 처음 15줄

ServerSignature Off
ServerTokens Prod
ServerRoot "/etc/httpd"

Listen *:80
Listen *:443

User apache
Group apache

ServerAdmin hostmaster@localhost
ServerName 192.168.1.200:80

Include conf.d/*.conf
Include conf.modules.d/*.conf

외부 파일이 처음 삽입되는 경우는 include conf.d/*.conf 라인에 있습니다. 또한 포함된 첫 번째 파일은 알파벳순이므로 awstats.conf입니다.

awstats.conf의 첫 번째 줄은 다음과 같습니다.

Alias /awstatsclasses "/usr/share/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/share/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/share/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/share/awstats/wwwroot/cgi-bin/"

따라서 apache가 conf 파일 로딩을 시작하기 때문에 처음 만나는 Alias와 ScriptAlias는 기본적으로 16줄 이후입니다. 그러나 "별칭 지시문은 이전 별칭과 겹치기 때문에 일치하지 않을 수 있습니다."라는 오류가 계속 발생합니다.

지금까지 다른 ALIAS 명령어가 포함되지 않았는데 어떻게 중복됩니까? 내가 무엇을 놓치고 있나요?

편집하다:

위의 오류는 작업 결과로 발생합니다 systemctl status httpd.

The Alias directive in /etc/httpd/conf.d/awstats.conf at line 3 will probably never match because it overlaps an earlier Alias.
The Alias directive in /etc/httpd/conf.d/awstats.conf at line 4 will probably never match because it overlaps an earlier Alias.
The Alias directive in /etc/httpd/conf.d/awstats.conf at line 5 will probably never match because it overlaps an earlier Alias.
The ScriptAlias directive in /etc/httpd/conf.d/awstats.conf at line 6 will probably never match because it overlaps an earlier ScriptAlias.

답변1

다른 충돌하는 별칭이 표시되지 않는 grep 결과를 보면 가장 가능성 있는 설명은 파일을 두 번 포함했다는 것입니다. 추가 기능 Include이나 IncludeOptional지침을 찾으세요. (특히 새것처럼 2.2→2.4로 업그레이드할 때 이런 일이 발생할 수 있습니다 IncludeOptional.)

유사한 문제를 처리하기 위한 또 다른 문제 해결 팁은 다음과 같습니다.mod_info는 시작 시 구성을 덤프할 수 있습니다.그러면 전체 구성이 표시됩니다.

관련 정보