2013-11-21 5 views
1

내 블로그에 URL 재 작성을 작성했지만 CSS, href &과 같은 모든 링크는이 때문에 부러집니다.링크 끊기 다시 작성

각 링크 앞에 /를 추가하여 수동으로 모든 링크의 이름을 바꾸지 않고도 .htaccess 파일 내에서 어떻게 든 다시 작성할 수 있습니까?

RewriteCond %{REQUEST_FILENAME} -f 

또는 폴더 : 여기

RewriteCond %{REQUEST_FILENAME} -d 

.htaccess 당신이 수도의 파일에 당신의 URL 지점이 경우

RewriteRule ^blog/([-a-zA-Z0-9]+)/?$ blog.php?title=$1 [L,NC] 

답변

1

URL에 /을 추가하면 브라우저가 상대 URL의 기본 정보를 알 수 없으므로 /blog/앞에 있고 페이지 콘텐츠에있는 상대 URL 링크 앞에 나타납니다. 브라우저는 실제로 /blog.php에서 내용을 얻고 있는지 여부를 알지 못합니다. 브라우저에서 "블로그"라는 폴더가 아닌 문서 루트에 있습니다.

대신 모든 링크를 변경, 당신은 페이지의 헤더에 기본 URI를 추가 할 수 있습니다

<base href="/" /> 

참고하는 경우 (I 오래된 IE 브라우저와 생각), 당신은 전체 필요 URL :

<base href="http://your-site.com/" /> 
+0

와우! 매일 새로운 것을 배우게됩니다. 지금 수년간 html을 공부하고 있었고 결코 기초가 있다는 것을 깨닫지 못했습니다! 오늘 2 개의 질문으로 도와 줬어, 고마워 친구. :) –

0

mod_rewrite를 사용하면 확인할 수 있습니다 여기에 내가 무엇을 가지고 사용 :

# if this url doesn't point on a file... 
RewriteCond %{REQUEST_FILENAME} !-f 
# ...and doesn't point on a folder... 
RewriteCond %{REQUEST_FILENAME} !-d 
# ...then check this rule 
RewriteRule ^blog/([-a-zA-Z0-9]+)/?$ blog.php?title=$1 [L,NC]