Переписать подпапку перенаправления правил - PullRequest
0 голосов
/ 20 декабря 2018

Я застрял на том, как написать динамическое правило перезаписи или, если это вообще возможно.Исходный путь, по которому файлы не будут существовать, но будет существовать по новому пути как физические файлы.Первый, второй и третий каталоги в запросе будут статическими, за исключением второго каталога, который может быть любым целым числом.3-й каталог может быть одним из 2 вариантов, но не влияет на окончательный путь.

/test/1/name/folder/test.js /anotherpath/1/folder/test.js

/test/44/name/test.js /anotherpath/44/test.js

/test/55/name/folderagain/txt.txt /anotherpath/55/folderagain/txt.txt

1 Ответ

0 голосов
/ 20 декабря 2018

Ваш вопрос расплывчат в том, что вы на самом деле ищете.Тем более, что вы не публикуете никаких собственных попыток, которые продемонстрировали бы, что вы на самом деле хотите реализовать.

Так что я должен немного догадаться, но я предполагаю, что это более или менее то, что вы ищете:

RewriteEngine on
RewriteRule ^/?test/(\d+)/[^/]+/(.+)$ /anotherpath/$1/$2 [END]

Это правило будет работать аналогично в конфигурации хоста http-сервера или вфайлы динамической конфигурации (файлы стиля .htaccess), если они включены.

Если вы получаете статус http 500 с использованием этого правила («внутренняя ошибка сервера»), есть вероятность, что вы используете очень старую версию сервера apache http.В этом случае попробуйте заменить флаг [END] на более старый флаг [L], в этом случае он должен работать так же.В этом случае вы найдете соответствующие примечания в файле журнала ошибок http-серверов.

И общее замечание: вы всегда должны предпочитать размещать такие правила в конфигурации хоста http-серверов вместо использования файлов динамической конфигурации (".htaccess").Эти динамические конфигурационные файлы добавляют сложность, часто являются причиной неожиданного поведения, их трудно отладить, и они действительно замедляют работу http-сервера.Они предоставляются только в качестве последнего варианта для ситуаций, когда у вас нет доступа к реальной конфигурации хоста http-серверов (читай: действительно дешевые поставщики услуг) или для приложений, настаивающих на написании своих собственных правил (что является очевидным кошмаром безопасности).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...