サイトを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
お問い合わせは完全に機能しますが、ダウンロード 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
============別のテスト========================
私はローカルホストでこれについていくつかのテストを行いましたが、それは非常に興味深い結果であることがわかりました. しかし、私の問題はまだ解決していません。
http://localhost/exampleおよびhttp://example (追加された仮想ディレクトリ)から .htaccess を実行します。
redirect 301 /example/downloads.asp http://localhost/example/downloads/
と
redirect 301 /downloads.asp http://example/downloads/
次に、ローカルホスト (http://example) からライブ バージョンのリンクにリダイレクトしようとしました。
redirect 301 /downloads.asp http://www.example.com/downloads/
http://example/downloads.aspにアクセスします
ブラウザが私にリダイレクトします
http://www.example.com/downloads? ルート=downloads.asp
了解しました
LIVE バージョンでは、リダイレクト コードを追加しませんでした[VERY SURE FOR THIS]
でもライブ版ではエンターで直接アクセスすることになっています
http://www.example.com/downloads
ローカルホストからライブバージョンへのリダイレクト 301 が出てくる理由がわかりません
http://www.example.com/downloads? ルート=downloads.asp
何か案が?