2011-02-27 6 views
0

내 홈 디렉토리에서이 구조를 가지고 :mod_rewrite를 접두사

  • /index.php
  • /.htaccess
  • /folderx/
  • /folderx/하위 폴더/
  • 을 /folderx/subfolder/file.php

내가 필요로하는 것은 접두어가 붙은 모든 요청을 mod_rewite하는 것입니다. "folderx_"는 실제 folderx 디렉토리에 있습니다. 그러나 리디렉션을 강제해야합니다. 사용자가 /folderx/subfolder/subsubfolder/file.php를 직접 요청할 수는 없습니다. 그것은이 mod_rewrite를 URL로 리디렉션해야합니다 /folderx_subfolder/subsubfolder/file.php

  • /folderx_subfolder/=>/folderx/하위 폴더/
  • /folderx_subfolder/file.php => /folderx/하위 폴더/
  • /folderx_subfolder/subsubfolder/=> /folderx/하위/subsubfolder/
  • /folderx_subfolder/subsubfolder/file.php => /folderx/subfolder/subsubfolder/file.php
file.php

아래 코드를 시도했지만 리디렉션이 제대로 작동하지 않습니다. 하위 폴더를 요청하면, /folderx/subfolder/subsubfolder/file.php

RewriteCond %{REQUEST_URI} ^/folderx/(.*)$ 
RedirectMatch ^/folderx/(.*)$ /folderx_$1 
RewriteRule ^folderx_([a-z]{3,15})(/?)+$ /folderx/$1/ [NC] 
RewriteRule ^folderx_([a-z]{3,15})/(.*)$ /folderx/$1/$2 [NC] 

답변

1
RewriteRule ^folderx/(.+)$ http://example.com/folder_$1 [nc,last,redirect] 
RewriteRule ^folderx_(.+)$ /folderx/$1 [nc] 
+0

리디렉션이 작동하지 않습니다!이 접두사로 리디렉션,하지만 난 (도와주세요 반복되지 않도록하는 방법을 모른다 http://example.com/folderx/subfolder/와 같은 URL – Alex