2014-08-27 7 views
1

안녕하세요. 하루 종일 고민 중이며 URL을 정리하는 것이 처음입니다.URL이 정상적으로 작동하지 않습니다.

http://www.domain.tld/ausflug.php?lang=de 

에 :

http://www.domain.tld/ausflug/lang/de/ 

의 .htaccess를 통해

내 도메인은 내가 변경하고 싶습니다.

Options +FollowSymLinks 
RewriteEngine on 
RewriteRule ausflug/lang/(.*)/ ausflug.php?lang=$1 

내 문제는 다음과 같습니다 :

내 페이지를 탐색하는 경우
  • 이 URL이 여전히 추한 하나이 내 코드입니다.
  • 깨끗한 URL로 페이지에 접근하려면 css 및 js 항목이 모두 표시되지 않습니다.

도움 주셔서 감사합니다. 모든

답변

1

첫째,에 (당신의 htaccess로 루트 폴더에 있어야합니다)

Options +FollowSymLinks -MultiViews 
RewriteEngine On 

RewriteCond %{THE_REQUEST} \s/ausflug\.php\?lang=([a-z]{2}) [NC] 
RewriteRule . /ausflug/lang/%1/? [R=301,L] 

RewriteRule ^ausflug/lang/([a-z]{2})/$ /ausflug.php?lang=$1 [L] 

domain.tld/ausflug/lang/de/-domain.tld/ausflug.php?lang=de 리디렉션됩니다 내부적으로 (모든 리디렉션 루프 오류없이)를 다시 작성합니다 이것에 의해 현재의 코드를 대체.

두 번째 문제에 대한

: 나는 깨끗한 URL로 페이지에 도달하려면

, 그것은 모든

단순히 사용하는 CSS와 JS 물건을 표시하지 않습니다 절대 귀하의 링크를위한 경로 (선행 슬래시 포함).

예 : /css/file.css 대신 css/file.css

(다른 규칙이 몇 가지 가상 디렉터리를 생성하기 때문에 그것은 잘못된 디렉토리에서 찾게됩니다) 또는 바로 모든 페이지에서 <head> (대신 교체 한 후이 html 태그 <base href="/">을 추가 할 수 있습니다 각 링크)

+1

감사합니다 남자, 완벽하게;) – turboLoop

+0

방금 ​​한 가지 문제가 남아 있습니다. 이런 모든 파일을 변경해야합니까? css/file.css를 /css.file.css로 보내거나이 문제를 해결할 수있는 방법이 있습니까? – turboLoop

+0

다른 방법이 있습니다. 페이지에''다음에이 html 태그'를 추가 할 수 있습니다 –

관련 문제