【问题标题】:Redirect everything after Sub Directory, keep URL重定向子目录后的所有内容,保留 URL
【发布时间】:2018-11-21 19:44:46
【问题描述】:

我需要将 /acatalog/vvv-123 重定向到 /vvv-123

这是我目前在 .htaccess 文件中的内容:

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

任何帮助都会很棒。

【问题讨论】:

    标签: .htaccess redirect


    【解决方案1】:

    您需要了解,动态配置文件中的 RewriteRules 在 relative 路径中运行,这与在真实 http 服务器中定义此类规则时使用的 absolute 路径相反主机配置。这就是为什么您的规则没有得到应用的原因。顺便说一句,这是有据可查的......

    所以你需要改变

    RewriteRule ^/acatalog/([^/]+)/$ /$1 [L]
    

    使用相对路径方法,例如

    RewriteRule ^/?acatalog/([^/]+)/? /$1 [L]
    

    注意模式变化的开始和结束:开始处的问号负责将规则应用于相对绝对路径,最后负责处理如果请求以斜线结尾,规则也会被应用。

    一般而言,您应该更愿意将此类规则放在真实的 http 服务器主机配置中,而不是依赖于动态配置文件。

    【讨论】:

      猜你喜欢
      • 2016-06-10
      • 1970-01-01
      • 2022-01-22
      • 2015-07-31
      • 2016-12-18
      • 1970-01-01
      • 1970-01-01
      • 2013-09-23
      • 2021-03-12
      相关资源
      最近更新 更多