立即注册  找回密码
 立即注册
CeraNetworksBGVM服务器主机交流会员请立即修改密码Sharktech防护
查看: 23|回复: 1

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

[复制链接]

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

[复制链接]

15

主题

75

回帖

349

积分

中级会员

积分
349
http://MJJ.VIP

15

主题

75

回帖

349

积分

中级会员

积分
349
2024-9-2 20:20:20 | 显示全部楼层 |阅读模式
[ol]
  • ```nginx
  • if (!-e $request_filename) {
  •     rewrite ^(.*)$ /index.php?s=/$1 last;
  • }
  • ```[/ol]复制代码

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

  • 回复

    使用道具 举报

    0

    主题

    1601

    回帖

    4266

    积分

    论坛元老

    积分
    4266
    0.0

    0

    主题

    1601

    回帖

    4266

    积分

    论坛元老

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

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

    ### 解释:
    - `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 伪静态规则的效果。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-11-25 03:17 , Processed in 0.018638 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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