3

我正在使用 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]

是否还有另一种方法可以实现我想要做的事情。

4

2 回答 2

2

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

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/file\.php$
RewriteRule ^([a-zA-Z\-]+)\.php$ file.php?key=$1 [L]
于 2013-08-21T09:54:14.083 回答
0

真正的意思是“^([a-zA-Z\-]+)$从头到尾匹配 a-zA-Z-”。由于“.php”有一个点,它不会匹配。

这应该这样做。

RewriteRule ^([a-zA-Z\-]+)\.php$ file.php?key=$1 [L]
于 2013-08-21T09:54:53.257 回答