2010-03-04 5 views
0

폴더에 웹 사이트가있는 도메인이 있습니다.htaccess mod_rewrite help

http://domain.com.au/website/page.php

난 단지 규칙을 만들기 위해 .htaccess 파일에 액세스 할 수 있습니다. 내가 같이 내 URL을 싶습니다 ..

http://domain.com.au/page

그래서 본질적으로 내가 그것에서 앉아 하위 폴더 및 PHP는 확장자를 삭제하고 싶습니다. 내 PHP에서

모든 링크는이 JS 및 CSS에 대해 동일

<a href="/website/page.php">page link</a> 

불구하고 다음과 같이 구성되어 있습니다. 모두 '웹 사이트'폴더에서 참조됩니다.

다시 작성한다는 것은 모든 링크를 변경해야한다는 뜻입니까?

우선 순위가 URL에서 폴더를 떨어 뜨리지 만 PHP 확장은 아닙니다.

답변

0

1) 모든 파일을 루트 웹 디렉토리로 옮기고 거기에서 웹 사이트를 실행할 수 있습니다. 2) 처음부터 웹 사이트 디렉터리를 제거하기 위해 모든 링크를 수동으로 수정 한 다음 .htaccess 파일을 사용하여 해당 페이지를 다시 해당 페이지로 리디렉션해야합니다. 당신이 이런 식으로 할 거라면, 당신은뿐만 아니라

RewriteEngine On 
Options +FollowSymLinks 

RewriteCond %{HTTP_HOST} ^domain.com.au$ [NC] 
RewriteRule ^(.*)/ website/$1.php [L] 

당신은 어떤 경우에는 전체 루트 디렉토리를 포함하도록 website/$1.php 부분을 수정해야 할 수도 있습니다 ...는 PHP 확장을 제거 할 수 있지만,이해야 .htaccess 파일이 루트 웹 디렉토리에있는 한 작업하십시오. 그러면 주소 막대에서 URL을 동일하게 유지하면서 'http://domain.com.au/page'형식의 모든 페이지가 'http://domain.com.au/website/page.php'으로 리디렉션됩니다.

+0

정확히 HTTP_HOST를 확인하는 이유는 무엇입니까? '한다 RewriteCond % {HTTP_HOST}^domain.com.au $ [NC]' –

+0

또한 왜 마지막 플래그를 사용하여 둘 다, 그리고 말이 맞아. 하나의 다시 쓰기 규칙이있을 때 완전히 무의미합니다. – anomareh

+0

는 난에/웹 사이트 그래서이 규칙 나던 작업 하위 폴더가 언급하는 것을 잊었다. 그래서 domain.com.au/website/page.php 작업 및 domain.com.au/website/bla/page2.php 할 필요도 JS와 CSS 작동하지 등 – lukemh

0
<IfModule mod_rewrite.c> 
    RewriteEngine on 

     RewriteRule ^page\_one/(.*)/([0-9]{1,6})/?$ webroot/products/products/view/$2 [L] 

</IfModule> 

이 htaccess로 코드 페이지로 www.domain.com/page_one/anything/numeral

의 모든 트래픽이 리디렉션 www.domain.com/webroot/products/products/view/same 숫자

RewriteRule ^page?$ website/page.php$2 [L] 

노트처럼 예를 들어

, 뭔가, 이것은 당신이 다른 기능을 필요로하는 경우, 그것을

을 변경, 문자열로 "페이지"를 작동3210

더 많은 정보를 얻으려면 다음 링크를 참조하십시오. http://www.javascriptkit.com/howto/htaccess.shtml

관련 문제