.htaccess mod_rewrite规则独立工作但不能一起工作

时间:2013-10-02 18:29:34

标签: .htaccess mod-rewrite http-status-code-301

我正在尝试在.htaccess中设置一些网址重写。

第一种是使用语言代码重定向网址(网站现在使用一种语言):

RewriteRule ^en/(.*)$ /$1 [R=301,L]
RewriteRule ^es/(.*)$ /$1 [R=301,L]

========================

第二个是对seo目的更具描述性:

/小区/

/导师和 - 学生/

RewriteCond %{REQUEST_URI} ^.*/community.*$
RewriteRule .*  /tutors-and-students    [L,R=301,DPI]

=================================

第三个更改个人资料网址:

/小区/我的资料/用户名

/导师和 - 学生/用户名

RedirectMatch permanent myprofile(.*) http://www.profr.org/tutors-and-students/$1

=========================

他们都是独立工作但不是一起工作:

RewriteRule ^en/(.*)$ /$1 [R=301,L]
RewriteRule ^es/(.*)$ /$1 [R=301,L]
RewriteCond %{REQUEST_URI} ^.*/community.*$
RewriteRule .*  /tutors-and-students    [L,R=301,DPI]
RedirectMatch permanent myprofile(.*) http://www.profr.org/tutors-and-students/$1

感谢您的提示。

1 个答案:

答案 0 :(得分:0)

你应该坚持使用mod_rewrite,而不是将它与mod_alias的重定向混合在一起:

RewriteRule ^en/(.*)$ /$1 [R=301,L]
RewriteRule ^es/(.*)$ /$1 [R=301,L]

RewriteRule ^.*/?community /tutors-and-students [L,R=301,DPI]

RewriteRule ^.*/?myprofile(.*)$ /tutors-and-students/$1 [L,R=301]