2013-08-22 3 views
0

나는 우리가 가지고있는 모든 사용자 계정에 사용하는 PHP 웹 스크립트를 가지고 있습니다. 계정이있는 각 사용자는 자신이 사용할 수있는 복제 된 웹 사이트를 가지고 있습니다. 이 스크립트는 자동으로 복제 된 웹 사이트 URL을 생성합니다.웹 URL에서 문자 제거

http://domain.com/?username

이름은 사용하는 계정의 사용자 이름입니다. URL에서 물음표를 제거하여 대신 URL과 함께 복제 된 사이트에 액세스 할 수 있는지 궁금합니다.

http://domain.com/username

난 그냥 단순히 URL의 물음표를 제거하고 싶습니다. 이것이 가능한가? 가장 좋은 방법은 무엇입니까? 내가 .htaccess로 이런 걸 할 수 있을까요?

편집 :

나는 나의 htaccess로 파일이 추가했지만, 내가 http://domain.com/?username 같은 URL을 갈 때 내가 원하는 것 제대로 같은 질문을 제거하지만 페이지가 끊어집니다. 이미지가 제대로 표시되지 않으며 html이 올바르게 표시되지 않습니다.

RewriteEngine On 

# This is to physically change what's in the browser's address bar using a client redirect 
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /\?([^\ ]+) 
RewriteRule ^$ /%1? [R=301,L] 

# This is to internally rewrite on the server side 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^/?(.+)$ /?$1 [L] 

감사합니다. 당신은 PHP의 str_replace 기능을 사용할 수 있습니다

+1

그래, 재 작성 규칙을 살펴보십시오. – Brad

+0

어떻게 처리할까요 : 'http : //domain.com/? q = abc & u = name & id = 1123' URL 유형? '?'없이 'http : // domain.com/q = abc & u = name & id = 1123'이 되야합니다. – anubhava

+0

예, 정확히 그렇게되어야합니다. 사용자가 http://domain.com/username을 입력하면 http://domain.com/?username에 액세스 할 수 있습니다. –

답변

0

는 :

<?php 
    $url = "http://domain.com/?username"; 
    $new_url = str_replace("?", "", $url); 
?> 

url에 아무것도 ?의 모든 인스턴스를 대체합니다.

+0

고마워,하지만 난 실제로 URL을 모르겠다. 우리에게는 수백 개의 사용자 계정이 있으므로 사용자 이름은 동적으로 변경 될 수 있습니다. –

0

htaccess URL 다시 쓰기 규칙을 사용하여이를 수행 할 수 있습니다. 다음 코드를 사용하여 목적을 해결하십시오.

RewriteEngine on #turn on rewrite engine 
RewriteRule /username/(.*)/username ?username=$1