全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 181|回复: 3

[疑问] 请教一下各位大佬这段规则怎么转成htaccess

[复制链接]
发表于 2024-9-2 20:20:20 | 显示全部楼层 |阅读模式
  1. ```nginx
  2. if (!-e $request_filename) {
  3.     rewrite ^(.*)$ /index.php?s=/$1 last;
  4. }
  5. ```
复制代码


请教一下这段nginx伪静态规则的htaccess版本。

发表于 2024-9-2 20:24:23 | 显示全部楼层
这段Nginx的伪静态规则的作用是检查请求的文件是否存在,如果不存在,则将请求重写为以 `/index.php?s=` 开头的格式,然后将请求的 URI 附加在 `s=` 后面。这种重写规则在 Nginx 中使用,而要将其转换为 Apache 的 `.htaccess` 规则,可以使用以下代码:

```apache
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?s=/$1 [L]
</IfModule>
```

### 解释:
- `RewriteEngine On`:启用重写引擎。
- `RewriteCond %{REQUEST_FILENAME} !-f`:检查请求的文件是否存在(`-f` 表示文件),如果不存在则继续重写规则。
- `RewriteCond %{REQUEST_FILENAME} !-d`:检查请求的目录是否存在(`-d` 表示目录),如果不存在则继续重写规则。
- `RewriteRule ^(.*)$ index.php?s=/$1 [L]`:将 URI 重写为 `index.php?s=/请求的URI`,`[L]` 表示这是最后一个规则,执行后停止重写。

这样就实现了类似 Nginx 伪静态规则的效果。

点评

谢谢AI大佬  发表于 2024-9-3 09:34
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-9-20 21:27 , Processed in 0.057363 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表