最近移動したページのリダイレクトを設定しようとしています。このページはもともと にありましhttp://example.com/foo/
たが、その後 に移動しましたhttp://example.com/foo/bar/
。
.htaccess
サイトファイルで次のルールを試しました:
RedirectMatch 301 ^/foo/$ /foo/bar/
ただし、 url に移動するhttp://example.com/foo/
と、 url にリダイレクトされましたhttp://example.com/foo/bar/?/foo/
。?/foo/
URL が機能し、リダイレクト先のページがロードされますが、URL の末尾にある余分なものを取り除きたいと思います。
これが私の完全な.htaccessです:
RewriteEngine On
RewriteBase /
# add trailing slash
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ [R=301,L]
# allow access to certain directories in webroot
RewriteCond $1 !^(index\.php|robots\.txt|css/|lib/|js/|images/|^(.*)/images)
# gets rid of index.php
RewriteRule ^(.*)$ index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# page redirects
RedirectMatch 301 ^/foo/$ /foo/bar/