2016-10-04 4 views
4

예를 들어 www.mysite.com으로 이동할 때 .html 파일을 숨기려면 www.mysite.com/index.html로 리디렉션되지만 www.mysite로 유지되도록 /hindex.html을 숨 깁니다. com이지만 사실 www.mysite.com/index.html입니다. 설명하는 법을 모르겠지만 이해하면 감사하십시오. 감사합니다.Apache에서 라우팅을 어떻게 구성합니까?

+0

모든 URL에서 .html을 제거하고 싶습니다. 문의하기 페이지가 www.mysite.com/contact.html 대신 www.mysite.com/contact가되어야한다고 말하며 –

+0

이것은 실제로 자바 스크립트 문제는 아닙니다. 아파치에 대한 URL 재 작성에 중점을 둡니다. –

+0

@RahulPatel 예, 맞습니다. 어떻게해야합니까? – meme

답변

0

여기를 시도해보십시오. 디렉토리 색인을 설정할 때마다 모든 호출에서 index.html을 언급 할 필요가 없습니다. 확장없이 모든 HTML을 다시 작성합니다.

DirectoryIndex index.html 

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME}.html -f 
RewriteRule ^([\w-]+)$ $1.html [L] 
3

.htaccess 파일은 메모장이나 텍스트 메이트와 같은 텍스트 편집기로 만드는 간단한 ASCII 파일입니다. 디렉토리별로 구성을 변경하는 방법을 제공합니다.

RewriteRule ^([^\.]+)$ $1.html [NC,L]

소스 - How to remove .php, .html, .htm extensions with .htaccess

+0

도와 줘서 고마워. – meme

3

당신의 .htaccess 파일에 코드를 아래에 작성 해주세요.

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} \.html$ 
RewriteRule ^(.*)\.html$ $1 [R=301,L] 

.html은 위 코드를 사용하여 URL에서 삭제됩니다. 문의하신 페이지 URL이 www.mysite.com/contact.html 인 경우 위 코드를 사용하면 www.mysite.com/contact이됩니다.

+1

고마워. 너의 도움에 정말 감사한다. – meme

+0

나는 너를 도울 수있어서 정말 기쁩니다. (와이) –

0

이 방법은 아파치를 사용하지 않습니다. 단지 코드를 재구성하는 것입니다.

경로에 다른 디렉토리를 만들 수도 있습니다. 연락처 페이지와 같은 경우 프로젝트의 루트 디렉토리에 폴더 이름이 있습니다. 해당 폴더 안에 contact.html을 index.html로 저장하십시오. 이 구조 조정은 경로별로 코드를 분할하는 데 도움이됩니다.

연락처 페이지로 연결되는 링크는 www.mysite.com/contact (브라우저는 www.mysite.com/contact/index.html)입니다.

0

색인 페이지에서만 클라이언트 측의 URL 텍스트를 편집 할 것을 요청하는 경우. 당신은 this answer에서 코드와 HTML 파일에 자바 스크립트를 통해 경로 이름을 대체 할 수있는 :

history.replaceState('data to be passed', 'Title of the page', 'theNameWithoutTheHTML'); 

이름은 각 페이지의 각은 .js를 위해 변경해야하거나 더 일반적인 스크립트를 사용하고 재사용 할 수 있습니다 :

history.replaceState('data to be passed', 'Title of the page', location.pathname.slice(0, -5)); //This will replace it with the same path, removing the ".html" at the end (take care if the extension is different sized) 

이 경우 .html 파일로 리디렉션되므로 .html없이 페이지를로드하려고 할 때 사용자가 페이지를 다시로드 할 때 아무런 문제가 없어야합니다.

관련 문제