.htaccess RewriteRule не работает, неверные разделители флага

Мой сайт ранее использовал URL, как это: /folder/page

Ранее вы могли добавить "панель" в URL для редактирования текущей страницы: /panel/folder/page

Мы обновили нашу CMS, и новый URL для редактирования страницы имеет следующий формат: /panel/#/pages/show/folder/page

Я пытаюсь добавить правило перезаписи, чтобы мы все еще могли использовать старый способ, но не можем заставить его работать:

RewriteCond %{REQUEST_URI} !^/panel/#/
RewriteRule /panel(.*) /panel/#/pages/show/$1

Есть ли способ сделать это? Я думаю, что редирект 301 тоже должен работать.

Изменить: вот мой существующий.htaccess:

RewriteEngine on

RewriteBase /

# make panel links work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^panel/(.*) panel/index.php [L]

# make site links work
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) index.php [L]

1 ответ

Так как "панель" уже используется, я использовал правило перенаправления:

RedirectMatch 301 /admin(.*) /panel/#/pages/show/$1
Другие вопросы по тегам