GET은

2014-03-05 3 views
1

내가 localhost/profiles?user=ryr11 작품을 사용하여 프로파일 시스템을 제작하고 있어요 htaccess로 깨끗한 URL이 작동하지 않습니다, 그리고 내가 localhost/profiles/ryr11를 사용할 수있는GET은

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^\.]+)$ $1.php [NC,L] 

RewriteRule ^profiles/(.+)$ profiles.php?user=$1 [L,QSA] 

그렇게 사용하려고하지만, 나는 그렇게 할 때 더 이상 404 오류가 발생하지 않지만 $_GET['user']을 사용하면 더 이상 작동하지 않습니다.

+0

규칙의 순서를 변경하십시오. 'RewriteCond' 앞에'^ profiles /(.+)$' 규칙을 넣으십시오. –

답변

0

이 시도 :

RewriteEngine On 

RewriteCond %{SCRIPT_FILENAME} !-d 
RewriteCond %{SCRIPT_FILENAME} !-f 

RewriteRule ^profiles/([a-zA-Z0-9_.-]+)/?$ profiles.php?user=$1 [L,NC,QSA] 
0

이 같은 규칙을 계속 :

Options -MultiViews 
RewriteEngine On 
RewriteBase/

RewriteRule ^profiles/(.+)$ profiles.php?user=$1 [L,QSA,NC] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1.php -f [NC] 
RewriteRule ^(.+?)/?$ $1.php [NC,L] 
0

당신은 제거하기 위해 다시 URL을 디코딩 할 필요가 - 그것에서.

사용이

$user = $_GET['user']; 
$postTitle = str_replace("-", " ", $user); 

이 다시 작동합니다.

관련 문제