.htaccess与php一起加载randomfile


.htaccess with php to load randomfile

我正在使用apache2和最新的php。我想做的是在我的域上加载一个随机的URL php文件。

示例:example.com/randfilename.php?var1=1&var2=2&var3=3

然后randomfilename.php将加载带有vars的file.php。请记住,randomfilename.php不会是这样的名称。它将是随机的,末尾有.php。

我尝试过使用RewriteEngine,它只适用于example.com/randfilename,但一旦我添加了.php,它就不起作用了。

我试过的是

RewriteEngine On
RewriteRule ^([a-zA-Z'-]+)$ file.php?key=$1 [L]

还有其他方法可以实现我想要做的事情吗?

.php扩展名中有一个.,您的模式是^([a-zA-Z'-]+)$,它只匹配字母和破折号,不匹配句点。您可以显式地将.php扩展添加到模式中,并排除file.php:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/file'.php$
RewriteRule ^([a-zA-Z'-]+)'.php$ file.php?key=$1 [L]

^([a-zA-Z'-]+)$的实际含义是"从开始到结束匹配a-zA-Z"。由于".php"有一个点,所以它不会匹配。

这样就可以了。

RewriteRule ^([a-zA-Z'-]+)'.php$ file.php?key=$1 [L]