.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