2013-07-10 2 views
1

나는 다음과 같은 않는 .htacces 파일을 만든 :.htacces 리디렉션

  • 리디렉션 //.index/ (주소 표시 줄에 표시)에

    또는

  • 리디렉션 /hu 또는 /en/.index/hu 또는 /.index/en (주소 표시 줄에 표시)

그런 다음

  • 는 (주소 표시 줄에 표시되지) /index.php?page=[p]&lang=[l]-/.[p]/[l] 같은 요청을 리디렉션

그러나 ...

내가 마지막에 쿼리 문자열, 의미를 보존하려면 방문을 /.[p]/[l]?a=b/index.php?page=[p]&lang=[l]&a=b

나는 정규식을 얻는 것을 보지 못한다 이것을 위해 일하는 essions.

RewriteEngine On 
RewriteBase /Main/djdavid98/ 

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

RewriteRule ^(hu|en)?(\/?(\?(([\S]+\=[\S]+)*))?)?$ ./.index/$1$3 [R=301,L] 
RewriteRule ^\.([\w\d]+)(\/(hu|en))?\/?(\?(([\S]*=[\S]*)+))?$ index.php?page=$1&lang=$3&$5 

답변

1

사용 QSA flag for RewriteRule 당신이 규칙의 대상에 건설 한 하나의 끝에이 이미 모든 쿼리 문자열을 추가합니다 : 다음은 전체의 .htaccess 파일의

RewriteRule ^\.([\w\d]+)(\/(hu|en))?\/?(\?(([\S]*=[\S]*)+))?$ index.php?page=$1&lang=$3&$5 [L,QSA] 

참고는 검색어 문자열은 규칙 타겟에 자신 만의 검색어 문자열을 만든 경우를 제외하고 자동으로 끝에 추가됩니다. 첫 번째 규칙은 쿼리 문자열을 유지하지만 두 번째 규칙은 유지되지 않습니다.

+0

감사합니다. – SeinopSys

관련 문제