Я просто перенес свой сайт из asp в opencart. В .htaccess я хотел бы сделать некоторое перенаправление, чтобы мой клиент мог использовать старую ссылку для доступа
внутри .htaccess
redirect 301 /contact.asp http://www.example.com/index.php?route=information/contact_us
redirect 301 /downloads.asp http://www.example.com/downloads
Для Contact Us, которые работают отлично, однако, для URL загрузок, он не работал правильно.
когда я получаю доступ к http://www.example.com/downloads.asp
, он перенаправляется на http://www.example.com/downloads?_route_=downloads.asp
и Opencart показывает, что страница не найдена.
Для http://www.example.com/downloads
мы установили оптимизированный для SEO URL в бэкэнд-системе.
Мы можем получить доступ с
http://www.example.com/information/downloads
http://www.example.com/downloads
но мы не можем получить доступ по обычной ссылке
http://www.example.com/index.php?route=information/downloads
Следующие мои полные .htaccess
# Prevent Direct Access to files
<FilesMatch "\.(tpl|ini)">
Order deny,allow
Deny from all
</FilesMatch>
# SEO URL Settings
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
redirect 301 /contact.asp http://www.example.com/index.php?route=information/contact_us
redirect 301 /downloads.asp http://www.example.com/downloads
============ ДРУГОЕ ТЕСТИРОВАНИЕ ========================
Я провел некоторое тестирование на своем локальном хосте и обнаружил, что это довольно интересный результат. Тем не менее, моя проблема до сих пор не решена.
Я запускаю .htaccess из http://localhost/example и http://example (добавлен виртуальный каталог)
Для http://localhost/example
redirect 301 /example/downloads.asp http://localhost/example/downloads/
и
Для http://example
redirect 301 /downloads.asp http://example/downloads/
Затем я попытался перенаправить ссылку на мою версию в реальном времени с localhost (http://example)
redirect 301 /downloads.asp http://www.example.com/downloads/
Доступ к http://example/downloads.asp
браузер перенаправить на меня
http://www.example.com/downloads?route=downloads.asp
ЗНАМЕНИТО
В версии LIVE я не добавил код перенаправления [ОЧЕНЬ УВЕРЕН ДЛЯ ЭТОГО]
Но в Live-версии я получаю прямой доступ с помощью ввода
http://www.example.com/downloads
Я не уверен, почему из локального редиректа 301 в живую версию выйдет
http://www.example.com/downloads?route=downloads.asp
Есть идеи?