2017-04-26 4 views
0

URL에 내 다국어 사이트를 다시 작성하거나 더 잘할 수 있습니다. 아마도 아주 잘 이해하지 못할 수도 있습니다.URL 다시 작성 via.htaccess

RewriteEngine On RewriteRule ^([^/]*)/([^/]*)\.html$ index.php?lang=$1&s=$2 [L] 

하고 작업입니다 :

내 원래 링크는

www.mydomain.com/index.php?lang=en&s=2 

같은 나는이 규칙을 작성할 수 있습니다. 사실 주소 표시 줄에 글을 쓰면

www.mydomain.com/en/2.html (smart url) 

주소 표시 줄에 똑똑한 URL로 올바른 페이지로 이동합니다.

그러나 문제 내 코드에 링크가 여전히 있다는 것입니다 :

<a href="index.php?lang=<?php echo $lang?>&s=2">link</a> 

을하고 나는 그것을 클릭하면 주소 표시 줄에 URL은 원본이 아닌 스마트 하나입니다.

나는 htaccess에 대한 규칙이 자동으로 원래의 PHP 코드를 변경하지 않고 더 똑똑한 모든 링크를 (주소 표시 줄에서) "돌렸을"것이라고 생각했지만 어쩌면 틀렸다. 내가 틀린 경우 스마트 URL을 가지지 만 변수를 전달하여 언어 및 페이지를 식별하려면 어떻게 링크를 작성해야합니까? 나는 혼란스러워.

감사합니다.

+0

가능한 중복을 제거해야 <a href="index.php?lang=<?php echo $lang?>&s=2">link</a> [htaccess로에게 강제하는 방법에 URL을 다시 작성 후/automatic clean URL] (http://stackoverflow.com/questions/14564258/htaccess-how-to-force-automatic-clean-url) – Jer

+0

.php 페이지를 가리 키도록 certai .html 페이지를 다시 쓰고 있습니다. 'a' 태그는 .php 페이지로 연결됩니다. 뭐가 문제 야? – Pyromonk

답변

0

당신의 .htaccess 당신은 주어진 링크 예를 들어 페이지의 URL을 변경하는 것이 필요 당신이 물음표에게의 <a href="index.php/<?php echo $lang?>/2">

+0

에이스 감사합니다, 잘 작동합니다! – DevTen

+0

URL에 제목과 같은 다른 매개 변수가 있으면 규칙을 어떻게 수정할 수 있습니까? ** www.mydomain.com/ko/title-example.html ** (제목 대신에 **)을 얻으려면 ** www.mydomain.com/index.php? lang = ko & s = 2 & title = title- 신분증). 감사합니다. – DevTen