htaccess를 사용하여 밑줄 "_"을 "/"로 바꿀 수 있습니까? 예, 내가 원하는이 http://example.com/empresa_historia-da-empresa.php 그대로 잘 http://example.com/empresa/historia-da-empresahtaccess를 사용하여 밑줄 "_"을 "/"로 바꾸려면 어떻게해야합니까?
은 가능합니까?
htaccess를 사용하여 밑줄 "_"을 "/"로 바꿀 수 있습니까? 예, 내가 원하는이 http://example.com/empresa_historia-da-empresa.php 그대로 잘 http://example.com/empresa/historia-da-empresahtaccess를 사용하여 밑줄 "_"을 "/"로 바꾸려면 어떻게해야합니까?
은 가능합니까?
이를 사용할 수 있습니다
Options +FollowSymLinks
RewriteEngine On
RewriteBase/
RewriteRule !\.(html|php)$ - [S=4]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1/$2/$3/$4/$5 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1/$2/$3/$4 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1/$2/$3 [E=uscor:Yes]
RewriteRule ^([^_]*)_(.*)$ $1/$2 [E=uscor:Yes]
RewriteCond %{ENV:uscor} ^Yes$
RewriteRule (.*) http://example.com/$1 [R=301,L]
여기 (그리고 약간의 변경) : http://www.askapache.com/htaccess/modrewrite-tips-tricks.html#Rewrite_underscores_hyphens_SEO_URL 그것은 1 ~ 4 underscroes에 대한 작동을
실제로 최대 10 개의 밑줄을 사용할 수 있습니다. 첫 번째 규칙이 처음 네 가지를 대체하므로 발견됩니다. 그러나 다음 3 개의 밑줄 등을 대체하는 두 번째 것이 실행됩니다. 더 이상 남아 있지 않을 때까지 10 개의 아파치가 밑줄을 제거하고 방향을 바꾸는 것을 계속할 것입니다. – Gerben
네가 맞다. 이것은 최대 10 개의 밑줄로 작동한다. 하지만 11을 사용하면 URL "a_b_c_d_e_f_g_h_i_j_k_l.php"가 "a/b/c/d/e/f/o/h/i/j/k/l.php/b/c/d/e로 리디렉션됩니다. /f/o/h/i/j/k/l.php/b/c/d/e/f/o/h/i/j/k/l.php/b/c/d/e/f/o ... "URL이 끝나지 않으므로 브라우저가 414 오류를 표시합니다. – Christopher
거기에있을 수 있습니다. 모든 재 작성 규칙에'L' 플래그를 추가하면이를 해결할 수 있습니다. – Gerben
당신은 그것을 사용하기 쉽게 HTTPD.CONF하는 액세스 할 수있는 경우 이 작업을 수행하는 RewriteMap. – Ansari