префикс mod_rewrite как папка - PullRequest
       4

префикс mod_rewrite как папка

0 голосов
/ 27 февраля 2011

У меня есть эта структура в моем домашнем каталоге:

  • / index.php
  • /. Htaccess
  • / folderx /
  • /folderx / subfolder /
  • / folderx / subfolder / file.php

Что мне нужно, это mod_rewite для всех запросов с префиксом "folderx_" в настоящий каталог folderx.Но кроме того, мне нужно принудительно перенаправить - пользователь не должен быть в состоянии запросить /folderx/subfolder/subsubfolder/file.php напрямую.Он должен быть перенаправлен на адрес mod_rewrite: /folderx_subfolder/subsubfolder/file.php

  • / folderx_subfolder / => / folderx / subfolder /
  • / folderx_subfolder / file.php =>/folderx/subfolder/file.php
  • / folderx_subfolder / subsubfolder / => / folderx / subfolder / subsubfolder /
  • / folderx_subfolder / subsubfolder / file.php => / folderx / subfolder / subsubfolder/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 Ответ

1 голос
/ 28 февраля 2011
RewriteRule ^folderx/(.+)$ http://example.com/folder_$1 [nc,last,redirect]
RewriteRule ^folderx_(.+)$ /folderx/$1 [nc]
...