Apache mod_rewrite URL

时间:2013-08-16 19:37:13

标签: apache .htaccess mod-rewrite

您好我需要mod_rewrite的帮助。

我想更改此类网址

127.0.0.1/app/controller/<anyName1>/<anyName2>.php?firstParam=1&secondParam=text&...&nParam=nSomething

127.0.0.1/anyName1/anyName2/1/text/.../nSomething

你能举例说明怎么做吗?

1 个答案:

答案 0 :(得分:0)

通过/<anyName1>/<anyName2>/ mod_rewrite以及/<anyName1>/<anyName2>/之外的任何修改,您可以节省很多压力。将路径组件动态映射到查询变量需要一些非常时髦的递归巫术魔法。

而是仅抓取RewriteCond %{REQUEST_URI} !^/app/controller/[^/]+/[^/]+\.php RewriteRule ^([^/]+)/([^/]+)/?(.*)$ /app/controller/$1/$2.php/$3 [L] ,将路径的其余部分附加到重定向,然后使用PHP来解析路径:

<强>的.htaccess

$components = array_filter(explode('/', $_SERVER['PATH_INFO']), 'strlen');

echo '<pre>';
print_r($components);
echo '</pre>';

<强> PHP

Array
(
    [1] => 1
    [2] => text
    [3] => ...
    [4] => nSomething
)

输出:

{{1}}