0

我目前使用此代码通过使用文件名作为获取参数来静默调用另一个 php 文件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  blog/([^/]+)/?$  [NC]
RewriteRule .*   repost_p.php?post=%1  [L]

如果我想将文件名设为假子目录,并添加文件名作为第二个 get 参数怎么办?

我该怎么做呢?

4

1 回答 1

0

你可以使用类似的东西:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/blog/(.*)   /repost_p.php?path=$1  [L]

然后在 repost_p.php 文件中,您可以过滤路径变量以找出子目录。

$path = isset($_GET['path']) ? $_GET['path'] ? '';
$params = explode('/', $path);

//params is now an array with all subdirectories.
//Make sure you validate each one for valid input! This can also be used for sql injection
于 2013-05-06T14:08:19.563 回答