php - .htaccess 与 php 加载随机文件

标签 php .htaccess

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

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

然后 randomfilename.php 将加载带有变量的 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]

关于php - .htaccess 与 php 加载随机文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18354189/

相关文章:

apache - 在整个网站上强制使用 https,但不在一个文件夹上强制使用 https

apache - 如何仅使用 .htaccess 文件设置 ssl

php - 如果 session 存储在文件中,为什么仍然使用 cookie 来存储它们?

php - 如果不存在则获取我们插入的 mongodb 文档的_id,如果已存在则更新

php - 替代条件语法 (if-else) 在 PHP 5.3.0 (xampp) 上失败

php - 我如何允许我的用户在 PHP 中自定义他们的仪表板

javascript - htaccess 文件 - 将 url 中两个以上单词的下划线更改为连字符

.htaccess - htaccess 重定向 "/?id=(.*)",但仅限于根目录?

.htaccess - 强制浏览器忘记缓存的重定向?

javascript - 从用户生成的 li 列表中的 ahref 链接创建数组