.htaccess mod_rewrite重定向除特殊URL和文件之外的所有内容

.htaccess mod_rewrite重定向除特殊URL和文件之外的所有内容,.htaccess,redirect,mod-rewrite,.htaccess,Redirect,Mod Rewrite,我想重定向以下内容: 将所有内容添加到新域到起始页: server1.com,server1.com/start,server1.com/foo.html。。。至server2.com/start 除了应重定向到服务器2上的特殊URL的特殊URL: server1.com/contact(带和不带.html)到server2.com/contact 除了应保留在server1上的特殊文件(完全没有重定向): server1.com/help.pdf位于server1.com/help.pdf 这

我想重定向以下内容:

  • 将所有内容添加到新域到起始页: server1.com,server1.com/start,server1.com/foo.html。。。至server2.com/start

  • 除了应重定向到服务器2上的特殊URL的特殊URL: server1.com/contact(带和不带.html)到server2.com/contact

  • 除了应保留在server1上的特殊文件(完全没有重定向): server1.com/help.pdf位于server1.com/help.pdf

  • 这就是我到目前为止所做的:

    RewriteEngine On
    RewriteRule contact* http://server2.com/contact [R=301,NC,L]
    RewriteCond %{REQUEST_URI} !/help.pdf$
    RewriteRule ^(.*)$ http://server2.com/start [L,R=301] 
    
    1和2似乎有效,但3(特殊文件)也被转发。你知道如何解决这个问题吗?它能被优化吗


    谢谢

    规则3失败了,可能是因为您的浏览器缓存。清除浏览器的缓存,然后再次尝试访问
    /help.pdf
    。好的,成功了,谢谢!规则3失败了,可能是因为您的浏览器缓存。清除浏览器的缓存,然后再次尝试访问
    /help.pdf
    。好的,成功了,谢谢!