에러로그 설정하고 보는데 먼소리인지 모르겠다 ㅠㅠ
일단 규칙은 아래와 같이 들어온 주소를 index.php?url="어쩌구" 식으로 바꾸어 주는건데
문제는 ^(.+)$ ...
처음부터 끝까지 내용이 없던 머던 상관없는데 이걸 $1로 치환하라 인데
Options -MultiViews RewriteEngine On Options -Indexes RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] |
현재 읽혀 있는 경로에서 달라지는 내용만을 적용대상으로 삼는건가?
/var/www/html/arch/test/index.php 에서 있는 파일은 웹상으로 접속하면
http://localhost/arch/test 인데, 이 파일에서 링크된 다른 경로
arch/test/board는 이전 주소를 기본으로 볼때 board가 하나 추가 된 셈이니
test 이후의 board만 들어가서 rewrite rule에 적용을 받는건가?
[perdir /var/www/html/arch/test/] add path info postfix: /var/www/html/arch/test/board -> /var/www/html/arch/test/board/, referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] strip per-dir prefix: /var/www/html/arch/test/board/ -> board/, referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] applying pattern '^(.+)$' to uri 'board/', referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] rewrite 'board/' -> 'index.php?url=board/', referer: http://localhost/arch/test/board/ split uri=index.php?url=board/ -> uri=index.php, args=url=board/, referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] add per-dir prefix: index.php -> /var/www/html/arch/test/index.php, referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] strip document_root prefix: /var/www/html/arch/test/index.php -> /arch/test/index.php, referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] internal redirect with /arch/test/index.php [INTERNAL REDIRECT], referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] strip per-dir prefix: /var/www/html/arch/test/index.php -> index.php, referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] applying pattern '^(.+)$' to uri 'index.php', referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] pass through /var/www/html/arch/test/index.php, referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] strip per-dir prefix: /var/www/html/arch/test/public/css/style.css -> public/css/style.css, referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] applying pattern '^(.+)$' to uri 'public/css/style.css', referer: http://localhost/arch/test/board/ [perdir /var/www/html/arch/test/] pass through /var/www/html/arch/test/public/css/style.css, referer: http://localhost/arch/test/board/ |
[링크 : http://webskills.kr/archives/515]
+
QSA는 Cond를 지난 결과에 덧 붙인다라는 의미..
음.. 경로의 마법은 저 Cond와 QSA인가?
[링크 : http://soul0.tistory.com/208]
+
REQUEST_FILENAME The full local filesystem path to the file or script matching the request, if this has already been determined by the server at the time REQUEST_FILENAME is referenced. Otherwise, such as when used in virtual host context, the same value as REQUEST_URI. Depending on the value of AcceptPathInfo, the server may have only used some leading components of the REQUEST_URI to map the request to a file. REQUEST_URI The path component of the requested URI, such as "/index.html". This notably excludes the query string which is available as its own variable named QUERY_STRING. |
[링크 : http://httpd.apache.org/docs/current/mod/mod_rewrite.html]
Filename should give you the complete local path, where request uri will be exactly what was requested (should also include the GET parameters). From the manual: REQUEST_URI The resource requested in the HTTP request line. (In the example above, this would be "/index.html".) REQUEST_FILENAME The full local filesystem path to the file or script matching the request. |
[링크 : http://www.miva.com/...-htaccess-what-s-the-difference-between-request_filename-and-request_uri]
'프로그램 사용 > apache' 카테고리의 다른 글
apache2 HSTS 활성화 하기 (0) | 2024.04.18 |
---|---|
아이피 하나에 여러개의 도메인 붙이기 (8) | 2019.02.27 |
mod_rewrite 로그설정 (0) | 2017.04.12 |
라즈베리 파이 mod_rewrite 활성화 (0) | 2017.04.11 |
mod_rewrite 설정 및 정규표현식 (0) | 2017.04.10 |