2016-10-11 4 views
0

저는 루트에있는 모든 .html 파일에서 일부 동적 페이지를 사용하고 있습니다. 다음 행으로하위 디렉토리가 mod 재 작성을 듣지 않도록하십시오.

:

RewriteRule ^(.*).html content.php?alias=$1 [L] 

이 잘 작동하지만 나 또한 같은 위치에 다른 웹 사이트, 몇 폴더 아래를 얻었다. 나는이 라인을 듣지 않기를 바라고, .html 파일을 만들 때마다 내 루트의 content.php로 리디렉션됩니다.

예 : 내 content.php의

위치 :

public_html/Website/content.php 

public_html/Website/_intern/websites/index.html 

위의 파일이 내 루트에서 content.php로 리디렉션됩니다.

어떻게 그런 일이 발생하지 않도록 할 수 있습니까?

답변

0

정규식을 조정하십시오. .* 대신에 [^/]+을 사용하면 무엇이든 일치하지만 /을 사용해야합니다. 이것은 당신이 하위 디렉토리에 아무것도 선택하지 마십시오 보장 :

RewriteRule ^([^/]+)\.html$ content.php?alias=$1 [L,QSA,NC] 
+0

를 내가가하는 생각,하지만 난 _ 하나를 content.php하는 나는 시험이 너무 밑줄이 오전로 URL을 리디렉션 다른 모드 재 작성을 얻었다 줄을 밑줄로 변경하려면 어떻게합니까? 이렇게? $ L [QSA, NC]' – twan

+0

제대로 입력했다면 줄은 어떤 하위 디렉토리도 듣지 말고 _intern 'RewriteRule^_ (. *)/(. *) .html /lp.php?alias=$2 [L]'를 여전히 듣는 서브 디렉토리입니다. – twan

+0

Yo는 먼저 문제가되는 기존 .htaccess를 게시하여 이에 대한 조언을 드릴 수 있습니다. 또한 이것을 테스트하기 위해 사용하고있는 완전 UR과 작동하지 않는 UR이 무엇인지 말해 주시겠습니까? – anubhava

관련 문제