2017-03-11 12 views
0

아래는 아파치의 .htaccess 파일입니다. 내 하위 디렉토리에서 404 오류를 찾을 수 없습니다. 그리고 내 재 작성과 관련이 있는지 확신합니다.방금 ​​시작한 아파치 .htaccess가 lighttpd 변환으로 다시 작성되었습니다.

Options -Indexes 
Options +FollowSymLinks 

<IfModule mod_rewrite.c> 
    RewriteEngine On 

    RewriteCond %{HTTP_HOST} ^example.com [NC] 
    RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule .* file.php [L,QSA] 

</IfModule> 

는 여기가 "$의 1.php"는 정답 아니라는 것을 알고 내 lighttpd.conf가 재 작성

$HTTP["host"] =~ "www.example.com" { 
url.rewrite   = ("^(.*)$" => "$1.php") 
} 

server.follow-symlink = "enable" 

입니다. 일종의 작품이지만 기능적이라고 생각하지는 않습니다. 여기에있는 유일한 목적은 내가하려고하는 것을 정리하는 것입니다.

답변

0

RewriteCond %{HTTP_HOST} ^example.com [NC] 
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301] 

를 들어를 참조 -d! -f를 들어 https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModRedirect

$HTTP["host"] == "example.com" { 
    url.redirect = ("^(.*)$" => "http://www.example.com$1") 
} 

를 들어

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* file.php [L,QSA] 

https://redmine.lighttpd.net/boards/2/topics/6459

을보고in https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModRewrite

QSA의 경우 lighttpd 조건 블록을 사용하여 쿼리 문자열을 일치시킨 다음 % 1 (으)로 대체하십시오.

$HTTP["querystring"] =~ "(.*)" { 
    url.rewrite-if-not-file = ("..." => "...&%1") 
} else { 
    url.rewrite-if-not-file = ("..." => "...") 
}