首页 > 解决方案 > 有没有办法从修改后的 url 中检索 $_GET 内容

问题描述

我正在努力使我的 URL 整洁。这是我的原始网址: https://example.com/cssgzip.php?file=/assets/css/main.css 我使它看起来像这样: https://example.com/cssgzip/assets/css/main.css

我用它来删除.php扩展名:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [QSA,L]

像这样: https://example.com/cssgzip?file=/assets/css/main.css

我用它来删除?file=

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)/$ cssgzip.php?file=$1

像这样: https://example.com/cssgzip/assets/css/main.css

但是现在,当我继续运行$_GET['file']https://example.com/cssgzip/assets/css/main.css,什么也没有回来。

我试过$_REQUEST['file']了,那也是空的。

有什么我做错了吗?我能做些什么呢?

标签: php.htaccessget

解决方案


通过删除?file=,您删除了file变量的值声明,因此$_GET['file']没有任何价值。例如,如果您手动更改?file=url 中的值,它也会更改变量的值。

如果您使用 GET 方法,则需要在 url 中包含该方法。否则,使用 POST。


推荐阅读