无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2046|回复: 6
打印 上一主题 下一主题

[求助] 有没有熟悉 nginx 转 htaccess 规则的高手帮个忙,谢谢了。

[复制链接]
跳转到指定楼层
1#
发表于 2022-7-12 12:16:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
玩php web 建站遇到一个问题:伪静态规则是 nginx 的,但租的服务器是 apache 的,伪静态规则不通用,很多在线转换工具都是 htaccess转nginx 的,查了好多资料都捣鼓不成,有没有这方面的高手帮忙转换一下,万分感谢。:

nginx 伪静态规则:
****************************
location / {
if (!-e $request_filename) {
  rewrite  ^(.*)$  /index.php?s=$1  last;
  break;
}
}
location /h5 {
if (!-e $request_filename) {
  rewrite  ^(.*)$  /h5/index.html?s=$1  last;
  break;
}
}

location /wap {
if (!-e $request_filename) {
  rewrite  ^(.*)$  /wap/index.html?s=$1  last;
  break;
}
}

location /web {
if (!-e $request_filename) {
  rewrite  ^(.*)$  /web/index.html?s=$1  last;
  break;
}
}
location /mshop {
if (!-e $request_filename) {
  rewrite  ^(.*)$  /mshop/index.html?s=$1  last;
  break;
}
}
***********************
求相应的 htaccess 规则,谢谢,谢谢,谢谢,

2#
发表于 2022-7-12 13:49:40 | 只看该作者
本帖最后由 熄灭的火焰 于 2022-7-12 13:50 编辑

你试试
  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteBase /

  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteRule ^/h5/(.*)$ /h5/index.html?s=$1 [L]
  7. RewriteRule ^/wap/(.*)$ /wap/index.html?s=$1 [L]
  8. RewriteRule ^/web/(.*)$ /web/index.html?s=$1 [L]
  9. RewriteRule ^/mshop/(.*)$ /mshop/index.html?s=$1 [L]
  10. RewriteRule ^(.*)$ /index.php?s=$1 [L]
  11. </IfModule>
复制代码



点评

没有生效,仍然谢谢你和你的时间。 https://winginx.com/en/htaccess 我在这里验证了一下,几乎可以完美转换了,可能还需要一点点小修改就行了。麻烦你再看看哪里需要再改一下,(拜托,拜托,拜托)  详情 回复 发表于 2022-7-12 15:22
回复

使用道具 举报

3#
 楼主| 发表于 2022-7-12 15:22:56 | 只看该作者

没有生效,仍然谢谢你和你的时间。

https://winginx.com/en/htaccess
我在这里验证了一下,几乎可以完美转换了,可能还需要一点点小修改就行了。麻烦你再看看哪里需要再改一下,(拜托,拜托,拜托)

点评

把第一行和最后一行删了。  详情 回复 发表于 2022-7-13 08:57
回复

使用道具 举报

4#
发表于 2022-7-12 17:00:38 | 只看该作者
rewrite ^([^\.]*)/forum-(\w+)-([0-9]+)\.html$ $1/forum.php?mod=forumdisplay&fid=$2&page=$3 last;
rewrite ^([^\.]*)/thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=viewthread&tid=$2&extra=page%3D$4&page=$3 last;
rewrite ^([^\.]*)/group-([0-9]+)-([0-9]+)\.html$ $1/forum.php?mod=group&fid=$2&page=$3 last;
rewrite ^([^\.]*)/space-(username|uid)-(.+)\.html$ $1/home.php?mod=space&$2=$3 last;
rewrite ^([^\.]*)/blog-([0-9]+)-([0-9]+)\.html$ $1/home.php?mod=space&uid=$2&do=blog&id=$3 last;
rewrite ^([^\.]*)/(fid|tid)-([0-9]+)\.html$ $1/index.php?action=$2&value=$3 last;


回复

使用道具 举报

5#
发表于 2022-7-13 08:57:36 | 只看该作者
本帖最后由 熄灭的火焰 于 2022-7-13 09:07 编辑
sunlenghua 发表于 2022-7-12 15:22
没有生效,仍然谢谢你和你的时间。

https://winginx.com/en/htaccess
  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteBase /

  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteRule ^/h5/(.*)$ /h5/index.html?s=$1 [L]

  7. RewriteCond %{REQUEST_FILENAME} !-d
  8. RewriteCond %{REQUEST_FILENAME} !-f
  9. RewriteRule ^/wap/(.*)$ /wap/index.html?s=$1 [L]

  10. RewriteCond %{REQUEST_FILENAME} !-d
  11. RewriteCond %{REQUEST_FILENAME} !-f
  12. RewriteRule ^/web/(.*)$ /web/index.html?s=$1 [L]

  13. RewriteCond %{REQUEST_FILENAME} !-d
  14. RewriteCond %{REQUEST_FILENAME} !-f
  15. RewriteRule ^/mshop/(.*)$ /mshop/index.html?s=$1 [L]

  16. RewriteCond %{REQUEST_FILENAME} !-d
  17. RewriteCond %{REQUEST_FILENAME} !-f
  18. RewriteRule ^(.*)$ /index.php?s=$1 [L]
  19. </IfModule>
复制代码

如果还不行,把第一行和最后一行删了。

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On

  3. RewriteBase /h5/
  4. RewriteCond %{REQUEST_FILENAME} !-d
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteRule ^(.*)$ /index.html?s=$1 [L]

  7. RewriteBase /wap/
  8. RewriteCond %{REQUEST_FILENAME} !-d
  9. RewriteCond %{REQUEST_FILENAME} !-f
  10. RewriteRule ^(.*)$ /index.html?s=$1 [L]

  11. RewriteBase /web/
  12. RewriteCond %{REQUEST_FILENAME} !-d
  13. RewriteCond %{REQUEST_FILENAME} !-f
  14. RewriteRule ^(.*)$ /index.html?s=$1 [L]

  15. RewriteBase /mshop/
  16. RewriteCond %{REQUEST_FILENAME} !-d
  17. RewriteCond %{REQUEST_FILENAME} !-f
  18. RewriteRule ^(.*)$ /index.html?s=$1 [L]

  19. RewriteBase /
  20. RewriteCond %{REQUEST_FILENAME} !-d
  21. RewriteCond %{REQUEST_FILENAME} !-f
  22. RewriteRule ^(.*)$ /index.php?s=$1 [L]
  23. </IfModule>
复制代码


这个是完美转换为你的代码,不知道能不能用。你试下。还是那样,如果不行把第一行和最后一行删了

点评

可以了,十分感谢,十分感谢,十分感谢,  详情 回复 发表于 2022-7-14 10:21
回复

使用道具 举报

6#
发表于 2022-7-13 09:15:24 | 只看该作者
如果还不行,把规则后面中括号里的[L]改为[QSA,NC,L]
回复

使用道具 举报

7#
 楼主| 发表于 2022-7-14 10:21:27 | 只看该作者
熄灭的火焰 发表于 2022-7-13 08:57
如果还不行,把第一行和最后一行删了。

可以了,十分感谢,十分感谢,十分感谢,
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-24 05:57

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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