动态PHP链接用mod_rewrite改写。从逗号到斜杠的转换

时间:2014-03-05 20:39:43

标签: php .htaccess mod-rewrite seo

我有一个PHP脚本,如果启用了mod_rewrite,它会从动态PHP链接“生成”静态PHP链接。它在整个页面中使用相同的代码来生成链接,即:

if ($var_array)
            {
                    while(list($key, $value) = each($var_array))
                    {
                            $sanitized_value = sanitize_var($value);
                            $output .= $sanitized_value.','.$key.',';
                    }
            }
            $output .= $base_url;

.htaccess具有以下mod_rewrite代码:

RewriteEngine On
RewriteRule ^(.*),(.*)$ $2.php?rewrite_params=$1&page_url=$2

如您所见,链接目前由逗号(,)和动态网址分隔,如:

http://www.url.com/page.php?category=dogs&parent_id=1050

然后变成:

http://www.url.com/dogs,category,1050,parent_id,page

不幸的是,这有两个问题。

  1. 我读到与昏迷的链接不合适。

  2. 整个网址目前处于“反向”状态。

  3. 我更喜欢它:http://www.url.com/page/category/dogs/parent_id/1050

    现在,我尝试从

    更改PHP部分
    $output .= $sanitized_value.','.$key.',';
    

    $output .= $sanitized_value.'/'.$key.'/';
    

    然后来自

    的.htaccess
    RewriteRule ^(.*),(.*)$ $2.php?rewrite_params=$1&page_url=$2
    

    RewriteRule ^(.*)/(.*)$ $2.php?rewrite_params=$1&page_url=$2
    

    尝试用(/)替换(,)但似乎不起作用。我做错了什么?

0 个答案:

没有答案