我正在向站点添加一些 301 重定向,我使用的语法几乎适用于所有重定向,除了少数。在我看来,我使用的语法适用于某些人而不适用于其他人,这似乎很不寻常。
一个例子是:
RedirectMatch 301 /faqs/general(.*) /general-faq/$1
这会正确重定向到指定的文件夹,但是:
RedirectMatch 301 /faqs/program(.*) /general-faq/$1
这将重定向到文件夹 /program/
什么是交易?
我使用 Wordpress 作为 CMS,我已将这些重定向包含在htaccess
文件中的正确位置。被注释掉的重定向是被破坏的重定向。
# 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