2012-10-04 3 views
1

나는 스크립트를 작성 중이며 www.mysite.com/signup와 같은 링크를 만들고 싶습니다. 등록을위한이 링크. www.mysite.com/user/username 및이 사용자 프로필 링크 어떤 PHP 확장없이 링크. 또한 누군가 요청 링크가 www.mysite.com/signup.php이와.htaccess에서 링크/프로필/사용자 이름을 설정하는 방법

누군 데 htaccess로

RewriteEngine On 
RewriteRule ^/?([a-z]+)$ $1.php [L] 

을 www.mysite.com/signup 그를 리디렉션해야 같은 경우, 모든 링크가 제대로 작동하고 있습니다 하지만 나는 그런 www.mystie.com/profile/username으로 사용자의 프로필을 액세스 할 때

나는이 오류를

객체를 얻을 수 없습니다 발견!

요청한 URL을이 서버에서 찾을 수 없습니다. 수동으로 URL을 입력 한 경우 철자를 확인하고 다시 시도하십시오.

서버 오류라고 생각되면 웹 마스터에게 문의하십시오.

오류 404

내 질문 : 링크가 제대로 작동하도록하려면 어떤 코드를 추가해야합니까?

답변

0

당신은이 개 지침 'RewriteLog'와 'RewriteLogLevel'에 대한 mod_rewrite를위한 설명서에 읽고 싶은 감사합니다. 로그 파일을 사용하여 로그 파일의 모든 단계를보고 재 작성 엔진이 요청을 처리하는 방법을 이해하는 방법을 배울 수 있습니다. 이 링크에 설명 된대로

+0

감사합니다. bu 더 도움이 필요합니다. –

1

라우팅 요청,이 함께 할 아무것도하지 않는 문제 : 당신이 그것에 대한 규칙을 가지고 있지 않기 때문에

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^/?([a-z]+)$ $1.php [L] 

지금 당신은, 경로 프로파일에 규칙을 추가 할 필요는 프로필 링크가 작동하지 않을 수 있습니다. 그래서 아래와 같이 입력 :

RewriteRule ^/?profile/(.*)$ /profile.php?username=$1 [L] 

가 어떤 스크립트 profile.php 교체는 프로필과 스크립트가 사용자 이름을 찾습니다 어떤 _GET PARAM와 username=를 생성합니다. 내가

큰 감사 도와하려고하는 모든 사람과에 문제를 해결 좋아

+0

사용자 이름을 얻으려면 profile.php에 무엇을 추가해야합니까? 나는이 코드 만 가지고있다.$ username = @ $ _ SESSION [ 'username']; –

+0

코드를 추가했지만 작동하지 않습니다. –

+0

@KhaledBawazir 그래서'$ username = @ $ _ SESSION [ 'username']; 대신'$ _GET [ 'username']' –

1

특히 존 린 :

이 코드

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^profile/(.*)$ profile.php?username=$1 [L] 

내 profile.php

입니다
$username = $_GET['username']; 

$info = fetchUserInfo($username); 

echo $info['username']; 
echo $info['userid']; 

희망도 같은 문제가있는 사람들을 돕기

관련 문제