无忧启动论坛

标题: 有没有熟悉 nginx 转 htaccess 规则的高手帮个忙,谢谢了。 [打印本页]

作者: sunlenghua    时间: 2022-7-12 12:16
标题: 有没有熟悉 nginx 转 htaccess 规则的高手帮个忙,谢谢了。
玩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 规则,谢谢,谢谢,谢谢,


作者: 熄灭的火焰    时间: 2022-7-12 13:49
本帖最后由 熄灭的火焰 于 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>
复制代码




作者: sunlenghua    时间: 2022-7-12 15:22
熄灭的火焰 发表于 2022-7-12 13:49
你试试

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

https://winginx.com/en/htaccess
我在这里验证了一下,几乎可以完美转换了,可能还需要一点点小修改就行了。麻烦你再看看哪里需要再改一下,(拜托,拜托,拜托)
作者: zzydlqs    时间: 2022-7-12 17:00
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;



作者: 熄灭的火焰    时间: 2022-7-13 08:57
本帖最后由 熄灭的火焰 于 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-13 09:15
如果还不行,把规则后面中括号里的[L]改为[QSA,NC,L]
作者: sunlenghua    时间: 2022-7-14 10:21
熄灭的火焰 发表于 2022-7-13 08:57
如果还不行,把第一行和最后一行删了。

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




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3