2014-12-30 3 views
1

이 규칙은 저에게 효과적이지만 문제가 있습니다. www.domain.com/description_functionhall/117/A%2520S%2520Garden 두 번째 규칙은 % 2520을 사용하므로 그 URL을 원합니다. 이 형식 www.domain.com/description_functionhall/117/AS-Garden.htaccess의 공백/공백 문자

Options +FollowSymLinks -MultiViews 
# Turn mod_rewrite on 
RewriteEngine On 
RewriteBase /function_hall_project/ 

## don't touch /forum URIs 
RewriteRule ^forums/ - [L,NC] 

## hide .php extension snippet 


RewriteCond %{THE_REQUEST} ^GET\s([^.]+)\.php\?hall_id=([^&\s]+)&booking_date=([^&\s]+)&session=([^&\s]+) [NC] 
RewriteRule^%1/%2/%3/%4? [R,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+?)/([^/]+)/([^/]+)/([^/]+)/?$ $1.php?hall_id=$2&booking_date=$3&session=$4 [L,QSA] 

# To externally redirect /dir/foo.php?hall_id=123&name=abcd to /dir/foo/123/abcd 
RewriteCond %{THE_REQUEST} ^GET\s([^.]+)\.php\?hall_id=([^&\s]+)&name=([^&\s]+) [NC] 
RewriteRule^%1/%2/%3? [R,L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.+?)/([^/]+)/([^/]+)/?$ $1.php?hall_id=$2&name=$3 [L,QSA] 

# To externally redirect /dir/foo.php?id=123 to /dir/foo 
RewriteCond %{THE_REQUEST} ^GET\s([^.]+)\.php\?hall_id=([^&\s]+) [NC] 
RewriteRule^%1/%2/? [R,L] 

# To internally forward /dir/foo/12 to /dir/foo.php?id=12 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/([^/]+)/?$ $1.php?hall_id=$2 [L,QSA] 



# To externally redirect /dir/foo.php to /dir/foo 
RewriteCond %{THE_REQUEST} ^GET\s([^.]+)\.php\s [NC] 
RewriteRule^%1 [R,L] 

# To internally forward /dir/foo to /dir/foo.php 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^(.*?)/?$ $1.php [L] 

답변

0

에 당신은이 모든 공백이 hyhen로 변환 단지 ## hide .php extension snippet 라인 아래에이 규칙을 삽입 할 수 있습니다

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+(.*?)(?:\+|%2520|%20|\s)+(.+?)\sHTTP [NC] 
RewriteRule^/%1-%2 [L,NE,R=302] 
+0

감사합니다. 그것의 작동 및 한 가지 더 간단한 방법으로 URL을 .htaccess를 사용하여 숨길 수있는 간단한 방법 으로이 내 www.domain.com/description_functionhall/AS-Garden 같은 내 URL을 만들 수 있습니다 가능한 경우 pls 그 규칙을 보내십시오. @ anubhava – raushan

+0

실제로 hall_id없이 PHP 코드가 작동하지 않기 때문에 가능하지 않습니다. 또한 새로운 질문을하려면 새로운 질문을 만드십시오. – anubhava