【问题标题】:htaccess conditional redirect to a 404 pagehtaccess 条件重定向到 404 页面
【发布时间】:2014-01-16 14:35:37
【问题描述】:

应用了重写规则

RewriteRule ^([^/]*)/([^/]*)/basic/?$ /basic.php?player=$2&platform=$1 [NC]

用于转换

/basic.php?player=$2&platform=$1

漂亮的网址

/$1/$2/basic

然后申请

RewriteRule ^pc/([^/]*)/?$ /pc/$1/basic/ [NC,R=301]

用于重定向

/$1/$2

到这里

/$1/$2/basic

问题是只输入这个

/$1

进入时显示404 not found错误页面

/$1/

它重定向到

/$1/basic/basic

有什么方法可以显示 404 Not Found 错误页面

这是我的 .htaccess

<IfModule mod_rewrite.c>
Options -Indexes
RewriteEngine on

#redirect -- /platform/player/ => /platform/player/basic
RewriteRule ^pc/([^/]*)/?$ /pc/$1/basic/ [NC,R=301]
RewriteRule ^ps3/([^/]*)/?$ /ps3/$1/basic/ [NC,R=301]
RewriteRule ^ps4/([^/]*)/?$ /ps4/$1/basic/ [NC,R=301]
RewriteRule ^xbox/([^/]*)/?$ /xbox/$1/basic/ [NC,R=301]
RewriteRule ^xone/([^/]*)/?$ /xone/$1/basic/ [NC,R=301]

#format -- /platform/player/page
RewriteRule ^([^/]*)/([^/]*)/basic/?$ /basic.php?player=$2&platform=$1 [NC]
RewriteRule ^([^/]*)/([^/]*)/weapons/?$ /weapons.php?player=$2&platform=$1 [NC]
RewriteRule ^([^/]*)/([^/]*)/vehicles/?$ /vehicles.php?player=$2&platform=$1 [NC]
RewriteRule ^([^/]*)/([^/]*)/awards/?$ /awards.php?player=$2&platform=$1 [NC]
RewriteRule ^([^/]*)/([^/]*)/kititems/?$ /kititems.php?player=$2&platform=$1 [NC]

ErrorDocument 400 /errordoc/error.php?error=400
ErrorDocument 401 /errordoc/error.php?error=401
ErrorDocument 403 /errordoc/error.php?error=403
ErrorDocument 404 /errordoc/error.php?error=404
ErrorDocument 500 /errordoc/error.php?error=500

【问题讨论】:

    标签: apache .htaccess mod-rewrite redirect


    【解决方案1】:

    /$1/ 匹配第一个

    RewriteRule ^pc/([^/]*)/?$ /pc/$1/basic/ [NC,R=301]
    

    规则,因为您有可选的 */? 模式,所以 /pc/ 将匹配该正则表达式。将这些字段设为必填

    #redirect -- /platform/player/ => /platform/player/basic
    RewriteRule ^pc/([^/]+)/?$ /pc/$1/basic/ [NC,R=301]
    RewriteRule ^ps3/([^/]+)/?$ /ps3/$1/basic/ [NC,R=301]
    RewriteRule ^ps4/([^/]+)/?$ /ps4/$1/basic/ [NC,R=301]
    RewriteRule ^xbox/([^/]+)/?$ /xbox/$1/basic/ [NC,R=301]
    RewriteRule ^xone/([^/]+)/?$ /xone/$1/basic/ [NC,R=301]
    

    通过将* 更改为+

    【讨论】:

      猜你喜欢
      • 2011-12-05
      • 1970-01-01
      • 2016-11-21
      • 2013-01-31
      • 1970-01-01
      • 1970-01-01
      • 2014-12-23
      • 2015-04-12
      • 2013-06-09
      相关资源
      最近更新 更多