.htaccess파일을 사용하지 마세요

.htaccess파일을 사용하지 마세요

저는 Instagram이나 Facebook과 같은 소셜 플랫폼을 만들려고 노력하고 있으며 사용자에게 examplesite.com/username과 같은 사용자 이름을 URL에 표시하고 싶습니다. 저는 이 작업을 수행하는 방법을 연구 중이었고 이것이 htaccess 재작성 코드로 만들어졌다는 것을 알게 되었습니다. 나는 코드를 가지고있다

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ user.php?url=$1 [QSA,L]

일반적으로 작동하지만 예를 들어 examplesite.com/login 또는 등록 페이지에 들어가려고 할 때 rewriterules는 로그인 또는 등록이라는 단어가 사용자 이름이라고 생각하고 열리지 않습니다. 폴더가 열려 있어야 하며 내 서버의 css, scss, js, img 등의 폴더도 사용자 이름으로 가져와야 하므로 누군가 examplesite.com/css, img 또는 js 등의 단어를 URL에 쓰는 경우 열면 안 됩니다. CSS, img 또는 js 파일.

내 영어 때문에 미안해요. 모두에게 감사드립니다! <3

답변1

다양한 것:

.htaccess파일을 사용하지 마세요

파일 에는 의도한 대로 .htaccess계속해서 복사되는 코드 예제가 많이 있습니다.화물 숭배시스템 관리자 대신 실제 매뉴얼을 읽어야 합니다.

에서:https://httpd.apache.org/docs/2.4/howto/htaccess.html

.htaccess일반적으로 주 서버 구성 파일에 대한 액세스 권한이 없는 경우 에만 파일을 사용해야 합니다 . 예를 들어, 사용자 인증은 항상 .htaccess 파일에서 수행되어야 한다는 일반적인 오해가 있으며, 최근에는mod_rewrite 지시문에 대한 또 다른 오해~ 해야 하다파일 로 들어가세요 .htaccess.이것은 사실이 아닙니다.
...
RewriteRule 지시문의 경우 .htaccess컨텍스트 에서이러한 정규식은 디렉터리에 대한 모든 요청과 함께 다시 컴파일되어야 하는 반면, 주 서버 구성 컨텍스트에서는 한 번 컴파일되고 캐시됩니다.또한 디렉터리별 컨텍스트 및 mod_rewrite와 관련된 제한 사항을 해결해야 하므로 규칙 자체가 더 복잡합니다. 상담하세요재작성 가이드 이 주제에 대한 자세한 내용은

두번째:

매핑 에서 제외해야 하는 몇 가지 디렉터리 이름을 이미 언급하셨습니다 example.com/[user-alias].

또한 사람들이 가입 페이지에서 의도적으로 해당 디렉토리(및 기타) 이름을 사용자 별칭으로 선택하는 것을 금지하는 것을 잊지 마십시오.

마지막

RewriteCond지시문은 다음 사항이 적용되는 요청 유형을 제한하는 데 사용됩니다 RewriteRule.

RewriteRule귀하의 구성은 현재 "일반" 영어로 요청의 파일 이름 구성 요소와 동일한 이름을 가진 기존 파일 또는 디렉터리가 있는 경우 다음을 적용하지 않는다고 나와 있습니다 .

추가 줄을 사용하여 추가 조건을 추가할 수 있습니다 RewriteCond. 예를 들면 다음과 같습니다.

RewriteCond %{REQUEST_FILENAME} !"login"

제외해야 한다example.com/login

관련 정보