2013-11-26 2 views
0

URL의 공백을 코드에서 변경하지 않고 대시 (-)로 변경할 수 있습니까?URL의 대시 (-)로만 공백 바꾸기

URL은 페이지를 식별하는 데 사용되므로 더 이상 페이지를 찾을 수 없기 때문에 URL을 변경할 수 없으므로 str_replace은이 솔루션에서 사용할 수 없습니다.

돌진하고 페이지 로더에 다시 공간 중 하나가 작동하지 않을로 변경 공간을 변경 한 번, 두 번 str_replace를 사용하여, 일부 페이지는 이미 페이지 이름 :

에 대시가 이것이 htaccess와 함께 달성 될 수 있기를 바랬지 만, 나는 어떻게 생각하지 못합니다. htacces를 사용하면 브라우저에 다른 URL을 표시 한 다음 실제 URL을 표시 할 수 있습니까?

: www.example.com/pages/hello%20worldwww.example.com/pages/hello-world으로 뚜렷한되어야하지만 GET 변수는 여전히 hello%20world이어야한다.

이 제품 중 하나에

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{THE_REQUEST} \s/+home/httpd/vhosts/domain.nl/httpdocs/app/View/Products/([^%20]*)%20([^\s]*) [NC] 
    RewriteRule ^/home/httpd/vhosts/domain.nl/httpdocs/app/View/Products/%1-%2 [L,NE,R] 
    RewriteRule "^(/home/httpd/vhosts/domain.nl/httpdocs/app/View/Products/)/([^-]*)-+(.*)$" "/$1/$2 $3" [L,NE,NC] 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ index.php [QSA,L] 
</IfModule> 

URL의 예 = 내 현재의 .htaccess 파일입니다 http://www.example.nl/software/category/details/this%20is%20a%20product-name

+1

일부보기 코드, 데이터를 대체 할 위치에 대해 조금 더 확장하십시오 ... 어디서 오는 지, 어떻게, 왜, 누가, 어디로 ...? –

답변

2

당신은 당신의 DOCUMENT_ROOT/.htaccess 파일에 이런 식으로 뭔가를 시도 할 수 있습니다 :

RewriteEngine On 

RewriteCond %{THE_REQUEST} \s/+path/([^%20]*)%20([^\s]*) [NC] 
RewriteRule^/path/%1-%2 [L,NE,R] 

RewriteRule "^(path)/([^-]*)-+(.*)$" "/$1/$2 $3" [L,NE,NC] 
+0

나쁜쪽으로 :하지 않았습니까 – AgeDeO

+0

시도해 봤어 : 'http : // www.example.com/pages/hello % 20world'? – anubhava

+0

공백이 포함 된 링크를 클릭하고 있습니다. 목표는 대시로 대체하는 것입니다. GET 변수를 변경하지 않고 – AgeDeO