如何设置 Apache mod_rewrite 以重定向除一个子文件夹之外的所有子文件夹

2024-02-10

我刚刚创建了一个新网站,并准备从当前的网络服务器切换到新的网络服务器。

当前的网络服务器将更名为 www2 新的网络服务器将被称为 www

我想将所有流量从 www2 重定向到 wwwexcept对于一个目录。我的目录结构如下所示:

 /var
     /www
         /html
            index.html
            page2.html
            /orange
                 index.html
            ...
            /archive
                 index.html
                 important-page1.html
                 important-page2.html
            /turquoise
                 index.html
            ...

我想将所有内容重定向到等效的 www 页面

 e.g. www2.mydomain.com/orange/index.html -> www.mydomain.com/orange/index.html
 www2.mydomain.com/turquoise/index.html -> www.mydomain.com/turquoise/index.html

EXCEPT对于 /archive 文件夹。我希望用户请求:

www2.mydomain.com/archive/important-page1.html 查看 www2 上的页面和not被重定向。

我使用 mod_rewrite 还是 mod_redirect?我可以在 httpd.conf 中进行设置吗?

Thanks


是的,你需要 mod_rewrite。 尝试:

RewriteEngine on
RewriteCond $1 !^archive
RewriteRule (.*) http://www.mydomain.com/$1 [R=301,L]

注:301R=301 is a 永久重定向 http://en.wikipedia.org/wiki/URL_redirection#HTTP_status_codes_3xx,如果您希望它是临时的,则需要将其更改为 302。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何设置 Apache mod_rewrite 以重定向除一个子文件夹之外的所有子文件夹 的相关文章

随机推荐