.htaccess重定向+;用一条规则重写

.htaccess重定向+;用一条规则重写,.htaccess,.htaccess,我有一个重写规则来隐藏index.php,它是 工作很好 RewriteCond $1 !^(index\.php) RewriteRule ^(.*)$ index.php/$1 [L,QSA] 我当前正在将特定子域重定向到另一个域 RewriteCond %{HTTP_HOST} ^(www\.)?deutschland\.example\.com$ [NC] RewriteRule ^ http://www.example.de%{REQUEST_URI} [NE,R=301,L]

我有一个重写规则来隐藏index.php,它是 工作很好

RewriteCond $1 !^(index\.php) 
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
  • 我当前正在将特定子域重定向到另一个域

    RewriteCond %{HTTP_HOST} ^(www\.)?deutschland\.example\.com$ [NC]
    RewriteRule ^ http://www.example.de%{REQUEST_URI} [NE,R=301,L]
    
  • 重定向工作正常,但现在我也在URL中获得index.php,它将出现在请求URI中

    http://www.example.de/index.php/search/result
    
    那么,如何从这个重定向的URL中删除'index.php'? 注意:它只是同一个php网站应用程序,只使用国家/地区的多个域。

    (1)规则顺序很重要。(2)
    last
    标志并不表示last;这意味着这个周期的最后一次。(在Apache2.4中,end标志执行您可能认为最后一次执行的操作。有关此操作的更多讨论,请参阅my)。因此,在本例中,规则(1)触发,然后mod_rewrite再次循环,这次规则(2)触发,给出您的发现

    交换这两条规则,它将按预期工作