2012-11-06 3 views
2

URL의 일부를 제거하려면 어떻게해야합니까? htaccess 또는 apache에 대해 많이 알지 못합니다.URL의 일부를 제거하려면 어떻게해야합니까?

예를 들어 www.mysite.com/page=services에서 www.mysite.com/services까지 제거하고 싶습니다.

이것을 달성하기 위해 정확하게 .htaccess 파일에 넣어야 할 것은 무엇이며 다른 페이지에서도 사용할 수 있습니까?

감사합니다.

+1

정규식을 알고 계십니까? mod_rewrite에 대해 읽고 서버에서 사용하도록 설정해야합니다. http://www.askapache.com/htaccess/mod_rewrite-basic-examples.html – iMoses

+0

나는 "/ services"라는 더 예쁜 URL을'index.php? page = services'에 다시 쓰길 원한다는 말은 믿으시겠습니까? –

+0

아니요, 정확하지 않습니다. 나는 다른 방향으로 가고 싶습니다. mod 다시 쓰기가 활성화되어 있지만 htaccess의 url에서 'regex를 제거하는 방법'이 아닌 'page ='를 알고 있습니다. – Dzumla

답변

1

나는 최근에 내 사이트 중 하나에 대해이 작업을 시도하고이 함께 와서 나를 위해 그것을

이 htaccess로 파일에 간다, 잘 작동 : 당신이 yoursite 작성합니다 경우 다음

RewriteEngine On 
RewriteRule ^([A-Za-z]+)/?$ index.php?page=$1 [NC,L] 

.com/pagename 그것은 yoursite.com/index.php?page=pagename을 PHP로 보냅니다. 다음과 같은 페이지로 연결됩니다. yoursite.com/pagename 주소 표시 줄에서 yoursite.com/index.php?page=pagename을 보내면 yoursite.com/pagename으로 변경되지 않습니다. :)

이게 당신이 찾고있는 바램입니다.

+0

나는 당신이 말한 모든 것을 이해하지 못한다, 나는 이것이 내가 제거 할 필요가있는 URL의 일부를 제거하기를 바란다 : 나는 약간의 나의 라이브 서버에서 그것을 점검하고 다시 당신에게 돌아갈 것이다. 나는 이것이 정말로 그것을하기를 바란다. 나는 희망을 갖고 두 시간 만에 다시 너에게 간다. – Dzumla

+0

그래도 db의 링크를 yoursite.com/pagename을 변경하여 사용자가 검색 주소창에이 링크가 표시되도록해야하지만 htaccess는이 요청을 yoursite.com/index.php?page=pagename로 리디렉션합니다. 무엇을해야할지 파악할 수 있습니다. (백그라운드에서이 작업이 진행되는 동안 사용자는 yoursite.com/pagename을 계속 볼 것입니다.) – Graviton

+0

DB의 url을 yoursite.com/pagename으로 변경했으나 yoursite.com/index.php?page=pagename이 백그라운드에서 일어나지 않습니다. 기본적으로 mysite.com/pagename은 실제로 존재하지 않으므로 홈 페이지에 기본적으로 머물러 있습니다. 페이지 이름은 각 페이지마다 동적으로 가져와야하는 변수입니다. – Dzumla

1

나는 당신이 당신이 필요로하는 www.mysite.com/serviceswww.mysite.com/index.php?page=services에 변경, 어쨌든 www.mysite.com/index.php?page=service

www.mysite.com/services을 전환해야합니다, 당신은 아마 그 반대를 의미합니다, 당신은 www.mysite.com/index.php?page=services도하지 www.mysite.com/page=services

로 원래 URL을 의미 생각합니다. htaccess이고 그 규칙은 RewriteRule ^([^/]+)/?$ /index.php?page=$1 [L]

입니다. 이전에 제안했듯이 .htaccess, regex 및 rewrite rules에 대해 읽어야합니다. 가장 좋은 자료는 여기 아파치 문서입니다 : http://httpd.apache.org/docs/2.2/howto/htaccess.html

나는 당신이 그 반대가 필요하다는 것을 이전에 읽었습니다. 나는 URL 부족의 전체적인 생각이 해결할 수있는 보안 문제가 추가되었습니다. URL은 귀하의 웹 페이지를로드하기 위해 전송 된 첫 번째 것입니다. 그런 다음 .htaccess는 PHP에서 언변 할 수없는 형태로 변경하고 예를 들어 매개 변수를 가져 오는 PHP를 처리합니다.

+0

내가 말한 것이고 그 반대는 아닙니다. 왜 내가 그 반대인지 아닌지, 왜 일반 URL을 index.pgp? page = services로 바꾸려는 것일까 요? www.mysite.com/page=something을 www.mysite.com/something으로 바꿔달라고 요청했습니다. – Dzumla

+0

질문에 대한 답변에 내 답변에 덧글을 추가했습니다. 어쨌든, 여기에 그것이 어떻게 진행되는지입니다. 먼저 'www.mysite.com/services'와 같이 기억하기 쉬운 URL을 쓰면 .htaccess가이를 'www.mysite.com/index.php? page = services'와 같이 변경합니다. 주소 표시 줄에 URL을 다시 쓰지 않으려면 (원하는 경우 제외) .htaccess가 $ _GET 매개 변수를 처리해야하는 새 URL을 PHP로 보냅니다. – Greeso

+0

나는 당신이하는 말을 이해하지 못합니다. 나는 그것을 간단하게 말했지만 당신은 이해하지 못합니다. DB에서 내용을 동적으로 가져 오므로 mysite.com/index.php?page=something과 같은 페이지가 표시되며 mysite.com/something로 변경하려고합니다. 나는 당신이 그 곳에 대한 대답을 게시 한 곳을 보지 못했고, 당신은 내가 원하는 것과 반대되는 것을 게시했습니다. – Dzumla

관련 문제