1

我需要将任何对 html 文件的调用更改为 php,并且应该将完整路径和文件作为 get 参数传递。

例如

http://www.domain.com/any/path/file.html

应该成为

http://www.domain.com/index.php?path=any-path-file.html

我想通过 php 文件将每个调用路由到 html 文件。重写应忽略任何其他文件。

另外:是否可以再次添加其他参数?

/file.html?foo=bar
becomes
/index.php?path=file.html&foo=bar

提前感谢

4

1 回答 1

2

我认为不可能完全按照您的意愿去做,但我认为我们可以如此接近,这并不重要。

以下重写

RewriteCond %{REQUEST_URI} \.html$
RewriteRule (.*) /index.php?path=$1&%{QUERY_STRING} [L]

将接受任何以 .html 结尾的请求并将其重写为 index.php,将完整路径添加为查询字符串。它还将原始请求上的任何现有查询字符串附加到新请求。这并不完全符合您的要求,因为路径变量看起来像 path=any/path/file.html,而不是您要求的 path=any-path-file.html。但这不是不能在 index.php 的前几行中整理出来的

    if( isset($_GET['path']) ) {
        $_GET['path'] = str_replace("/","-",$_GET['path']);
    }
于 2012-11-30T11:29:06.317 回答