简单重写规则问题
Simple Rewrite Rule issue
我很难理解这个重写规则的第 3 行有什么问题:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)\.html$ .php [L]
RewriteRule ^fr/lecon-de-kite\.html$ kite-lessons.php?lang=fr [L]
RewriteRule ^fr$ index.php?lang=fr [L]
RewriteRule ^it$ index.php?lang=it [L]
当我尝试访问 http:///localhost/kitemeup/fr/lecon-de-kite.html 时,出现 Not Found 错误
在您的站点根目录 .htaccess 中这样设置:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^fr/lecon-de-kite\.html$ kite-lessons.php?lang=fr [L]
RewriteRule ^(it|fr)/?$ index.php?lang= [L,QSA]
RewriteRule ^(.+)\.html$ .php [L,NC]
只需了解规则的排序很重要,因为 mod_rewrite 从上到下处理规则。您的 html -> php
规则优先并将所有 .html
URI 转换为 .php
,使您的第二条规则无效。
我很难理解这个重写规则的第 3 行有什么问题:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)\.html$ .php [L]
RewriteRule ^fr/lecon-de-kite\.html$ kite-lessons.php?lang=fr [L]
RewriteRule ^fr$ index.php?lang=fr [L]
RewriteRule ^it$ index.php?lang=it [L]
当我尝试访问 http:///localhost/kitemeup/fr/lecon-de-kite.html 时,出现 Not Found 错误
在您的站点根目录 .htaccess 中这样设置:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^fr/lecon-de-kite\.html$ kite-lessons.php?lang=fr [L]
RewriteRule ^(it|fr)/?$ index.php?lang= [L,QSA]
RewriteRule ^(.+)\.html$ .php [L,NC]
只需了解规则的排序很重要,因为 mod_rewrite 从上到下处理规则。您的 html -> php
规则优先并将所有 .html
URI 转换为 .php
,使您的第二条规则无效。