htaccess для пропуска папки

#.htaccess #redirect #rewrite

#.htaccess #перенаправление #перезапись URL-адреса

Вопрос:

Я вижу вопросы htaccess повсюду, но, похоже, я не могу заставить вещь делать то, что я хочу. Я не уверен, что мне нужно перенаправление или перезапись.

Я ищу способ использовать вложенную папку, но сделать так, чтобы казалось, что вложенной папки нет.

У меня есть куча папок в корне моего домена:

 www.mysite.com/folder1
www.mysite.com/folder2
www.mysite.com/folder3
www.mysite.com/folder4
  

Я хотел бы иметь возможность перемещать папки folder1 и folder2 во вложенную папку, но не показывать эту папку пользователю. Например

 www.mysite.com/x/folder1
www.mysite.com/x/folder2
www.mysite.com/folder3
www.mysite.com/folder4
  

Но пользователь все равно будет видеть ее такой, какой она была изначально.

Похоже, мне пришлось бы использовать перенаправление и перезапись. Если пользователь переходит в www.mysite.com/folder1 , то на самом деле будет в www.mysite.com/x/folder1 , не зная, что они находятся в этой подпапке.

Конечно, мне нужно сделать это, не прерывая работу folder4 и folder5. Идеи? Советы? Хитрости? Я не слишком знаком с htaccess

Ответ №1:

Это то, что сработало у меня, возможно, это поможет кому-то еще:

 RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(.*)$ /public/$1
  

Это указывает серверу игнорировать общую папку, поэтому, когда мой URL на самом деле mysite.com/public/file он показывает и отвечает на mysite.com/file