2012-08-08 4 views
0

Google 및 Stackoverflow 아카이브를 통해 지난 2 시간 동안 트래킹하여 방금 내 질문에 대한 답변을 찾을 수 있었고 아무것도 찾지 못했지만 너무 많이 발견했습니다. ! 불행히도 저는 301 개의 리다이렉트 질문에 산을 추가해야합니다. 죄송합니다. 그리고이 사진을 가져 주셔서 감사합니다;)URL을 다시 작성하여 새 URL로 영구적으로 리디렉션

기본적으로 URL을 단순화하기 위해 찾고있는 블로그가 있습니다. 현재 URL은 다음과 같이 :

http://tempertemper.net/post.php?s=2012-05-30-freeagent

내가 그들과 같이하고 싶습니다 :

http://tempertemper.net/2012-05-30-freeagent

내가 추가 해봤 RewriteRule의 /(.*)$/게시물을. php? s = $ 1을 내 .htaccess 파일로 보내지 만 가지고 있지 않습니다.

는 전체 파일은 현재 다음과 같습니다

<ifModule mod_rewrite.c> 

DirectoryIndex index.php index.html 

ErrorDocument 404 http://tempertemper.net/error.php 

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^www.tempertemper\.net$ 
RewriteCond %{REQUEST_URI} !cron.php 
RewriteRule ^(.*)$ http://tempertemper.net/$1 [R=301,L] 

</ifModule> 

나는 WWW를 리디렉션 canonicalisation 비트 후이 추가 시도했습니다. 비 WWW :^([A-ZA-Z0-9 _-] +)의 $ post.php

RewriteRule의 방법?들 이것은 일종의 $ 1

작품 =. 그런 다음 http://tempertemper.net/2012-05-30-freeagent에 연결할 수 있지만 문제는 http://tempertemper.net/post.php?s=2012-05-30-freeagent이 여전히 존재합니다. 검색 엔진의 관점에서 볼 때 중복 콘텐츠가있는 것으로 판단되어 서재응에게 좋지 않을 것 같습니다. 나는 새 라인 끝에 [R = 301]을 넣으려고했으나 새로운 링크가 작동하는 것을 멈 춥니 다. 또한 L을 대괄호에 넣고 표준화 명령에서 제거해 보았지만 기쁨은 없었습니다 (L은 마지막 명령을위한 것인가 ...?).

기본적으로 나는 post.php? s =를 생성하거나 생성 한 모든 URL 다음에 post.php가없는 URL로 영구적으로 리디렉션되도록합니다. 따라서 해당 페이지에 이미 들어있는 링크 앞으로는 모든 링크가 곧바로 새로운 모양의 URL로 연결됩니다. 의미가

희망 ...

감사합니다,

마틴 :

답변

0

아파치는 실제로 로컬 경로 => 적절한 완전한 이름 (내 원래 가정)을 수정,하지만 난 그 파일 actualy 참조 잘못된 파일을 검사합니다. 나는이 파일의 내용으로 작동합니다 생각하여 제공된 파일을 사용하여 :

DirectoryIndex index.php index.html 
ErrorDocument 404 http://tempertemper.net/error.php 

RewriteEngine On 
# don't redirect post.php to itself 
RewriteCond %{REQUEST_URI} !post.php 
# don't redirect error.php to post.php 
RewriteCond %{REQUEST_URI} !error.php 
RewriteRule ^(.*)$ "/post.php?$1" [R=301,L] 
+0

안녕 Sylwester 내가 사이트를로드 할 때, 그 추가 해봤지만 해당 페이지로 저를 복용 : http://tempertemper.net/ post.php? s = post.php 그리고 "페이지가 제대로 리디렉션되지 않습니다 .Firefox가 서버가이 주소에 대한 요청을 완료되지 않는 방식으로 리디렉션 중임을 감지했습니다.이 문제는 때로는 발생할 수 있습니다. 쿠키를 사용 중지하거나 거부함으로써 발생하는 – Martin

+0

post.php가 rewrite-rule을 macthes하고 무한 루프를 수행했기 때문입니다. 내 대답을 다시 작성하고 .htaccess 파일 대신 제공된 코드가 작동한다고 생각합니다. – Sylwester

+0

흠 ... 루트를 포함하여 http://tempertemper.net에서 URL을 입력하면 http://tempertemper.net/post.php로 이동합니다. 이상하게도 CSS를 제거합니다. 또한 한 페이지의 모든 게시물을 표시합니다. 어쩌면 표준화 리다이렉트와 함께 쓰는 방법일까요? 나는 그것을 제거하려고했지만 같은 일이 일어났습니다 ... – Martin

관련 문제