1

サイトに 301 リダイレクトをいくつか追加しています。使用している構文は、一部を除いて、ほぼすべてのリダイレクトで機能します。私が使用している構文が機能するものと機能しないものがあることは、私には珍しいようです。

例は次のとおりです。

RedirectMatch 301 /faqs/general(.*) /general-faq/$1

これは指定されたフォルダーに正しくリダイレ​​クトされますが、これは次のとおりです。

RedirectMatch 301 /faqs/program(.*) /general-faq/$1

これにより、フォルダー /program/ にリダイレクトされます

契約は何ですか?

htaccessWordpress を CMS として使用しています。これらのリダイレクトをファイル内の正しい場所に含めました。コメントアウトされているリダイレクトは壊れています。

    # BEGIN Wordpress

# WPhtc: Begin Custom htaccess
Options +FollowSymLinks

RewriteRule ^academics/courses.*$ http://www.bridgesboysacademy.com/course-curriculum/ [R=301,L]

RedirectMatch 301 /emotional(.*) /emotional-growth/$1

RedirectMatch 301 /emotional/family(.*) /family-participation/$1

RedirectMatch 301 /emotional/community(.*) /community-meetings/$1

RedirectMatch 301 /campus/athletics(.*) /sports-recreation/$1

RedirectMatch 301 /emotional/adventure(.*) /outdoor-adventure/$1

#RedirectMatch 301 /emotional/addiction(.*) /addiction-studies/$1

RedirectMatch 301 /student(.*) /student-profile/$1

#RedirectMatch 301 /student/questionnaire(.*) /student-profile/$1

RedirectMatch 301 /campus(.*) /campus-life/$1

#RedirectMatch 301 /campus/schedule(.*) /daily-schedule/$1

RedirectMatch 301 /faqs(.*) /general-faq/$1

RedirectMatch 301 /faqs/general(.*) /general-faq/$1

#RedirectMatch 301 /faqs/program(.*) /general-faq/$1

RedirectMatch 301 /faqs/academic(.*) /general-faq/$1

RedirectMatch 301 /campus(.*) /campus-life/$1

#RedirectMatch 301 /admissions(.*) /admissions-faq$1
#RedirectMatch 301 /admissions/application(.*) /admissions-faq$1
#RedirectMatch 301 /admissions/testimonials(.*) /admissions-faq/$1
#RedirectMatch 301 /admissions/fees(.*) /admissions-faq/$1
#RedirectMatch 301 /admissions/financial(.*) /admissions-faq/$1
#RedirectMatch 301 /faqs/tuition(.*) /admissions-faq/$1

RedirectMatch 301 /about/facts(.*) /about$1

RedirectMatch 301 /about/accreditations(.*) /accreditation$1

RedirectMatch 301 /about/staff(.*) /staff$1

RedirectMatch 301 /academics/bios(.*) /staff$1

RedirectMatch 301 /about/careers(.*) /career-opportunities$1

RedirectMatch 301 /parents(.*) https://crm.bestnotes.com/portal/bridgesacademy$1
# WPhtc: End Custom htaccess

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END Wordpress
4

1 に答える 1

0

これらのリダイレクトを逆方向に持っています:

RedirectMatch 301 /faqs(.*) /general-faq/$1

RedirectMatch 301 /faqs/general(.*) /general-faq/$1

#RedirectMatch 301 /faqs/program(.*) /general-faq/$1

RedirectMatch 301 /faqs/academic(.*) /general-faq/$1

最初のリダイレクトは他の 3 つのリダイレクトと一致するため、基本的に最後の 3 つのリダイレクトは何もしません。最も一般的なもの (最初のもの) を最後に配置する必要があります。

RedirectMatch 301 ^/faqs/general(.*) /general-faq/$1
RedirectMatch 301 ^/faqs/program(.*) /general-faq/$1 
RedirectMatch 301 ^/faqs/academic(.*) /general-faq/$1
RedirectMatch 301 ^/faqs/(.*) /general-faq/$1

^また、パターンの先頭にa を追加する必要があります。このようにして、パスのさらに先にあるものとランダムに一致することはありません。/something/faqs/something/

さらに、同じように動作するように「感情的な」ものを変更する必要があります。

RedirectMatch 301 ^/emotional/family(.*) /family-participation/$1
RedirectMatch 301 ^/emotional/community(.*) /community-meetings/$1
RedirectMatch 301 ^/emotional/adventure(.*) /outdoor-adventure/$1
RedirectMatch 301 ^/emotional/(.*) /emotional-growth/$1

/最後のリダイレクトで「emotional」の末尾にa を追加したことに注意してください。他のいくつかのリダイレクトでも同じことを行う必要があります。

RedirectMatch 301 ^/student/(.*) /student-profile/$1
RedirectMatch 301 ^/campus/(.*) /campus-life/$1

^また、パターンの先頭にa を追加する必要があります。

于 2013-08-29T22:43:40.260 に答える