【问题标题】:.htaccess 301 redirect for just few urls : non www to www.htaccess 301 重定向仅几个网址:非 www 到 www
【发布时间】:2017-10-10 04:55:28
【问题描述】:

嗨,请阅读我的问题,这是不同的

我的网站可以使用 www 和非 www 版本。现在我只想将整个站点的 1,2 url 从非 www 重定向到 www 版本,而其余的应该在 www 和非 www 模式下都可以正常工作

对于获取 http://example.com/test.html 应重定向到 http://www.example/test.html

而所有其他 url 应该在 www 和非 www 模式下工作

我想使用下面不起作用的代码,需要相同的帮助

RewriteCond %{REQUEST_URI} test.html
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule test.html http://www.example.com/test.html [L]

【问题讨论】:

  • 这个问题的状态如何?如果答案解决了它,则应该接受它以将其标记为已解决。

标签: apache .htaccess redirect mod-rewrite


【解决方案1】:

如果您想在没有www 的情况下重定向对example.com/test.html 的任何请求,请尝试以下操作:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^test.html  http://www.%{HTTP_HOST}%{REQUEST_URI} [R=302,L]

因此,任何以test.html 开头的^ 请求都将被重定向。

如果任何请求没有 www 并以 $ 结束 test.html 试试这个:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule test.html$  http://www.%{HTTP_HOST}%{REQUEST_URI} [R=302,L]

如果该代码正常,请将302 更改为301 以进行永久重定向。

注意:清除浏览器缓存然后测试上面的代码

【讨论】:

    猜你喜欢
    • 2014-04-09
    • 2017-05-03
    • 1970-01-01
    • 2019-08-12
    • 2019-11-29
    • 1970-01-01
    • 2019-02-04
    • 2018-05-01
    • 2011-04-12
    相关资源
    最近更新 更多