제목이 매우 모호하므로 사과드립니다.특정 패턴과 일치하는 mod_rewrite
문제는 다음 코드에 있습니다. 키워드 문 다음에 액션을 추가해야하지만 액션이 없을 때 액션이 키워드를 오버라이드하지 않도록하고 싶습니다.
대책에 입력 URL이 http://websitenamehere/uk/en/meet-us/update 및없이 :
http://websitenamehere/uk/en/meet-us 그래서 내가 무엇을 진행하는 4 개 이상의 문자의 문자열 인 경우에만 조치 절을 트리거하고 싶다. 이 htaccess 규칙은 비교할 때 설정된 국가 또는 언어에 의존해서는 안됩니다.
내가 무엇이든 놓친 경우 알려 주시면 질문을 업데이트하겠습니다. 나는 그것이 아주 간단해야한다는 것을 압니다. 그러나 그 순간 나는 htaccess를 통해 실수하고 나가서 가만히 기대고 있습니다.
#language
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})/([a-z]{2})(?:/(.*)|)$ /$1/$3?lang=$2 [NC,QSA,PT]
#country
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([a-z]{2})(?:/(.*)|)$ /$2?country=$1 [NC,QSA,PT]
#keyword
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/(.*)/$ /$2?keyword=$1 [NC,QSA,PT]
#actions
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php !-f
RewriteRule ^([^/]+)/(.*)$ /?action=$1 [NC,QSA,PT]
#withoutactions
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php !-f
RewriteRule ^([^/]+)/(.*)$ /$2?keyword=$1 [NC,QSA,PT]
RewriteCond %{REQUEST_URI} !(\.[^./]+)$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)/$ /$1.php [NC,QSA,PT]