>

AllowOverride All 를 활성화했습니다  아파치 설정 파일에서.

이것은 사용자가 브라우저에 입력하는 URL입니다

http://hostname/system_name/dynamic_text/login

아래와 같이 작동해야합니다

http://hostname/system_name/index.php?id=dynamic_text

아래와 같이 다시 쓰기 규칙을 만들었습니다. 하지만 작동하지 않습니다.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z])$/login index.php?login=$1 [NC,L]

이 요구 사항을 충족시키는 더 좋은 방법을 제안 할 수 있습니까?


  • 답변 # 1

    문제는 [a-z] 와 같은 정규식 패턴입니다.  소문자 하나만 일치합니다. 이 규칙을 사용할 수 있습니다 :

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([\w-]+)/login/?$ index.php?login=$1 [NC,L,QSA]
    
    

  • 답변 # 2

    위의 답변과 의견에 따라 작성되었으며 예상대로 작동합니다.

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^([\w-]+)/login/?$ index.php?login=$1 [QSA,NC,L]
    
    

관련 자료

  • 이전 java - PESSIMISTIC_WRITE가 전체 테이블을 잠그나요?
  • 다음 python 3.x - Windows 도메인의 Python3을 통한 보안 LDAP 인증