Apache2, Ubuntu,/etc/apache2/sites-available/default.conf
Только номер 1 должен быть псевдонимом, номер 2 - нет. Мне нужно регулярное выражение AliasMatch, которое опускает какой-либо URL-адрес с помощью ^/#, иначе передает $ 1 в новый /path/$ 1
Я пробовал следующие подходы: Первый переадресовывает как 1, так и 2, потому что (. *). Вторые не работают вообще. Третий тоже не работает, но я пытался сопоставить буквенно-цифровые символы, чтобы по умолчанию пропускать #, он также не работает.
AliasMatch "(?i)^/(.*)$" "/new/path/$1" AliasMatch "(?i)^((?!#).)*$" "/new/path/$1" AliasMatch "^/[a-zA-Z0-9_-]+$" "/new/path/$1"
Как я могу опустить URL-адрес 2, сохраняя при этом правильное присвоение URL-адреса 1?
Попробуйте это регулярное выражение: ^[^#]+$
Или этот: ^.*?/[^#]+$
Они понятны.
Хотя я не уверен, что именно вы хотите захватить. Кажется, вы знаете, как использовать группы захвата, поэтому вы можете добавить некоторые. Или, если вы не знаете, хотите ли вы ВСЕ из регулярного выражения, вы можете использовать $0
.
Редактировать:
Попробуйте: ^[^/]*/([^#]+)$
Этот будет отрубать все после последней косой черты: ^[^/]*/([^#]+)/[^#/]+$
И этот получает содержимое между первой и второй косой чертой: ^[^/]*/([^#/]+)/