提问人:Pekka 提问时间:2/8/2010 最后编辑:Pekka 更新时间:2/9/2010 访问量:448
清理嵌套的 mod_rewrite 语句
Cleaning up nested mod_rewrite statements
问:
我正在清理一个包含大量语句的大文件。.htaccess
mod_rewrite
混乱的最大部分来自捕获各种事件的语句
/directory1
/directory1/directory2
/directory1/directory2/directory3
使用类似
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)$
RewriteRule .* /front.php?level1=%1&level2=%2&%{QUERY_STRING} [L]
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)/([^/]+)$
RewriteRule .* /front.php?level1=%1&level2=%2&level3=%3&%{QUERY_STRING} [L]
精通mod_rewrite的人能否给我一个关于如何编写一个通用语句的指示,该语句将捕获任何深度并将适当的变量放入 RewriteRule 中?directory1/directory2...
level
答:
2赞
BalusC
2/9/2010
#1
而是使用以下重写规则
RewriteRule ^(.*)$ front.php/$1 [L]
并通过 pathinfo 访问文件夹:front.php
$pathinfo = $_SERVER['PATH_INFO'];
您也可以在 Apache 中启用并将其配置为用作索引文件,并以相同的方式获取 pathinfo。MultiViews
front.php
评论
0赞
Pekka
2/9/2010
好主意,在性能方面没有问题,因为无论如何都会通过PHP脚本运行。这将是一个在尽可能多的平台上运行的应用程序,因此我不想依赖 MultiView。我现在使用的是干杯!RewriteRule ^dirname/(.*)$ dirname/index.php?request=$1%{QUERY_STRING} [L]
上一个:显示字段,但对字段类型进行过滤?
评论