2009-07-24 2 views
0

나의 현재의 .htaccess 파일을 다시간단한 URI htaccess로

Options +FollowSymLinks 
RewriteEngine on 
RewriteCond %{HTTP_HOST} . 
RewriteCond %{HTTP_HOST} !^falsebase\.net 
RewriteRule (.*) http://falsebase.net/$1 [R=301,L] 

나는 사용자가 입력 할 때 내가 "http://u.falsebase.net/USERNAME"자신의 주소 표시 줄에 그들은 "http://falsebase.net/profile.php?name=USERNAME"에 지시 얻을이에 추가 할.

이것은 매우 간단하다고 생각합니다. 나는 .htaccess에 대한 경험이 없으며 이와 비슷한 12 개의 다른 스레드를 검색 한 후에 그 중 하나에서 일관된 답을 얻지 못했습니다.

답변

0

. 사용자가 /profile.php?name=USERNAME과 같은 추악한 URL을 보지 못하게해야합니다.

그래서

RewriteEngine On 
RewriteRule ^/(.+)$ /profile.php?name=$1 

곳 같은 것을 사용해보십시오. +는 사용자 이름과 일치하는 패턴이다.

당신이 당신의 사용자 이름이 모두 az 또는 AZ 문자를 알고있는 경우, 예를 들어, 당신은/사용자 이름과 같이 URL의 사용자 이름 부분을 갖는 잡을 것이라는 점을 염두에

RewriteEngine On 
RewriteRule ^/(a-zA-Z)$ /profile.php?name=$1 

곰을 사용하여 이상이 조여 수 모두 가능한 URL입니다. 당신은 내가 노력

+0

RewriteEngine On RewriteRule ^/user/(.+)$ /profile.php?name=$1 

등을 사용하는 것이이 경우에 사용자 이름을 입력

http://www.example.com/user/<username> 

처럼, 특정 네임 스페이스에 다음을 넣어 할 수 있습니다,이 있지만, 아무튼 효과가없는 것 같습니다. 내 현재 htaccess 파일 (위 그림 참조)에 뭔가를 추가하려고하고 있는데, 뭔가 바꾸지 않았습니다. htaccess를 모두 www.mydomain.net -> mydomain.net으로 리다이렉트하고 싶습니다. 이미 mydomain.net을 실행하고 있습니다. mydomain.net/u/USERNAME은 항상 페이지 mydomain.net/profile을로드하도록 내부 재 작성을 추가합니다. php? name = USERNAME, 여전히 mydomain.net/u/USERNAME을 URL로 표시합니다. – RyanMcG

+0

그래, 잠시 기다려 봤지만 내 .htaccess 파일을 읽지 않는 호스팅 서비스였습니다. 당신의 도움을 주셔서 감사합니다! – RyanMcG

0

는이 규칙을 시도해보십시오

RewriteCond %{HTTP_HOST} . 
RewriteCond %{HTTP_HOST} !^(u\.)?falsebase\.net 
RewriteRule (.*) http://falsebase.net/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} !^(u\.)?falsebase\.net 
RewriteRule ^[^/]+$ http://falsebase.net/profile.php?name=$0 

또는

내부 리디렉션 가능한 경우 : 당신은 내부 재 작성 규칙이 아니라 외부 리디렉션을 사용할 필요가

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{HTTP_HOST} !^(u\.)?falsebase\.net 
RewriteRule ^[^/]+$ profile.php?name=$0