代码之家  ›  专栏  ›  技术社区  ›  ilija veselica

修改重写问题

  •  -1
  • ilija veselica  · 技术社区  · 15 年前

    .htacces

    Options +FollowSymLinks
    RewriteEngine On
    
    RewriteBase / 
    RewriteRule ^([a-zA-Z0-9_-]+)$ sinj.com.hr/index.php?var1=$1 [L]
    RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ sinj.com.hr/index.php?var1=$1&var2=$2 [L]
    RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ sinj.com.hr/index.php?var1=$1&var2=$2&var3=$3 [L]
    RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ sinj.com.hr/index.php?var1=$1&var2=$2&var3=$3&var4=$4 [L]
    
    
    RewriteRule ^([a-zA-Z0-9_-]+)/$ sinj.com.hr/$1 [R=301,L]
    RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ sinj.com.hr/$1/$2 [R=301,L]
    RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ sinj.com.hr/$1/$2/$3 [R=301,L]
    RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ sinj.com.hr/$1/$2/$3/$4 [R=301,L]
    

    http://localhost/sinj.com.hr/administracija http://localhost/sinj.com.hr/administracija?var1=administracija 我想要的是当用户进入时 http://localhost/sinj.com.hr/administracija 他被重新引导到 http://localhost/sinj.com.hr/administracija/index.php . 我试图用标题(“位置:…”)来实现这一点,但它总是将我重定向到 . 如果重命名了文件夹administracija,则header()函数可以工作。有什么办法解决这个问题吗?

    1 回复  |  直到 15 年前
        1
  •  1
  •   Gumbo    15 年前

    尝试此规则以测试请求是否可以映射到包含 index.php 文件:

    RewriteCond %{REQUEST_FILENAME}/index.php -f
    RewriteRule ^ %{REQUEST_URI}/index.php
    

    此外,您可以使用此单一规则重定向URL路径以斜杠结尾的任何请求,而不包括:

    RewriteRule ^(.+)/$ sinj.com.hr/$1 [R=301,L]