嘟嘟社区

[nginx] 谁帮我看下这个伪静态哪里错了啊?


本帖最后由 FXB 于 2021-12-3 18:01 编辑

nginx 没错是可以正常运行的.但是今天换成apche   第一条规则不行,别的可以 ,程序是zblog

nginx规则:

  1. rewrite ^(.*)/S/(.+)$ $1/track/?irid=$2 last;
  2. if (-f $request_filename/index.html){
  3.     rewrite (.*) $1/index.html break;
  4. }
  5. if (-f $request_filename/index.php){
  6.     rewrite (.*) $1/index.php;
  7. }
  8. if (!-f $request_filename){
  9.     rewrite (.*) /index.php;
  10. }

复制代码

apche规则:

  1. <IfModule mod_rewrite.c>
  2. RewriteEngine On
  3. RewriteRule ^/S/(.+)$ /track/?irid=$1
  4. RewriteBase /
  5. RewriteCond %{REQUEST_FILENAME} !-f
  6. RewriteCond %{REQUEST_FILENAME} !-d
  7. RewriteRule . /index.php [L]
  8. </IfModule>

复制代码

宝塔环境  ///

我需要 使用这个规则….rewrite ^(.*)/S/(.+)$ $1/track/?irid=$2 last;

得等大佬解答,
水不下去了

* 臣妾做不到啊~

把RewriteRule ^/S/(.+)$ /track/?irid=$1去掉试试,也就是:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

255
zblog自带的伪静态插件不是有么
看了看,应该是RewriteRule ^/S/(.+)$ /track/?irid=$1的问题,可能加的位置不对,其他规则apacge和nginx转换说得通,RewriteRule ^/S/(.+)$ /track/?irid=$1这个就不太清楚了

uu123654789 发表于 2021-12-3 17:53
把RewriteRule ^/S/(.+)$ /track/?irid=$1去掉试试,也就是:

我程序要调用这个页面,这个没办法生成吗 还是我规则写的不对

FXB 发表于 2021-12-3 18:00
我程序要调用这个页面,这个没办法生成吗 还是我规则写的不对

对 刚刚仔细看了看  因为之前nginx规则里也有,确实不能少  应该是这条规则出错了

FXB 发表于 2021-12-3 18:00
我程序要调用这个页面,这个没办法生成吗 还是我规则写的不对

RewriteRule ^(.*)/S/(.+)$ $1/track/?irid=$2  试试这个

本帖最后由 uu123654789 于 2021-12-3 18:08 编辑

就是这行

你一开始nginx规则,rewrite ^(.*)/S/(.+)$ $1/track/?irid=$2 last;  ,和apache ,RewriteRule ^/S/(.+)$ /track/?irid=$1 这条不匹配