1

我有一个这样的 url 结构:

\http://www.domain.com/virtual_tours/virtual_name/
\http://www.domain.com/virtual_tours/virtual_name/virtual_tour_name-001.php?format=something
\http://www.domain.com/ virtual_tours/virtual_name/virtual_tour_name-002.php?format=something

我需要将它们映射到如下所示的新网址:

\http://www.domain.com/virtual-tours/virtual-name.php
\http://www.domain.com/virtual-tours/virtual-name/virtual-tour-name-001.php
\http ://www.domain.com/virtual-tours/virtual-name/virtual-tour-name-002.php

有人可以帮我解决这个条件和规则吗?

4

2 回答 2

1

我认为在 .htaccess 中执行类似 str-replace 的操作并不是一个好主意。更好更灵活的方法是将所有需要的 URL 重写为 php 脚本,并通过 PHP 代码在内部执行 REQUEST_URI 解析和 URL 路由。

于 2010-12-29T16:39:56.793 回答
1
RewriteEngine On

RedirectMatch permanent ^/(virtual_tours)/(virtual_name)$ http://www.domain.com/virtual-tours/virtual-name.php

RedirectMatch permanent ^/(virtual_tours)/(virtual_name)/virtual_tour_name-(.*)\?.*$ http://www.domain.com/virtual-tours/virtual-tour-name-$1.php
于 2010-12-29T16:53:34.750 回答