【问题标题】:htaccess Redirect all pages except some not workinghtaccess 重定向所有页面,除了一些不起作用
【发布时间】:2018-07-31 06:11:30
【问题描述】:

我正在尝试将我网站上的所有页面重定向到主页,但少数页面除外。我在 stackoverflow 上找到了一些解决方案,但这些都不起作用,所以我认为可能与我自己没有编写的 htaccess 的其余部分存在冲突。

RewriteEngine on
# begin my code
RewriteCond %{REQUEST_URI} !^/agb$
RewriteCond %{REQUEST_URI} !^/impressum$
RewriteCond %{REQUEST_URI} !^/datenschutzerklaerung$
RewriteRule .* https://www.mywebsite.com [R=301,L]
# end my code
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$
RewriteRule ^ https://www.%1%{REQUEST_URI} [NE,L,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]

# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /$1.php [L]

我已尝试编写 RewriteRule .* / [R=301,L]

我也尝试将我的代码放在其余代码之下,但这会导致重定向循环。

【问题讨论】:

    标签: .htaccess


    【解决方案1】:

    试试这样:

    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^/(agb|impressum|datenschutzerklaerung|)$
    RewriteRule .* https://www.mywebsite.com [R=301,L]
    

    在隐身模式下尝试新浏览器。

    【讨论】:

    • @Insane 抱歉,请再试一次。
    • 这行得通!现在我遇到了无法加载 css、js 和 img 源的问题。我可以按文件类型以某种方式排除它们,还是必须一一排除它们?
    • 啊不幸的是,agb、impressum 和 datenschutzerklaerung 无法再访问了。发现我可以排除 RewriteCond %{REQUEST_URI} !^/css/ 这样的资源文件路径
    猜你喜欢
    • 1970-01-01
    • 2012-10-29
    • 2016-11-08
    • 2023-03-21
    • 1970-01-01
    • 2018-02-15
    • 2015-09-21
    • 1970-01-01
    • 2014-09-11
    相关资源
    最近更新 更多