• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

thinkPhp在nginx下伪静态不能使用了

php 搞代码 3年前 (2022-01-23) 16次浏览 已收录 0个评论
文章目录[隐藏]

.htaccess里面

RewriteEngine onRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME} !-fRewriteRule ^(.*)$ index.php?s=$1 [QSA,PT,L] 

能访问首页,但是内页的页面都没办法访问了,用
index.php?a=guest是能访问的
/guest就不行了,求帮忙,’URL_MODEL’ => 2

回复讨论(解决方案)

因为nginx和apache的伪静态的写法不一样呢。 nginx是不支持.hta文件的呢

因为nginx和apache的伪静态的写法不一样呢。 nginx是不支持.hta文件的呢

那应该怎么配置呢?网上我看了好多方法都只说配nginx.conf,照着网站那种改过也不行

server {       listen  80;       server_name     www.phpno.com;       root /home/www/www_phpno_com/admin_wwwroot;       access_log off;       error_page 404  /404.html;       location /404.html {               root /home/www/www_phpno_com/admin_wwwroot;       }       location /{               index index.html index.htm index.php;               if (-e $request_filename) {                       break;               }               if (!-e $request_filename) {                       rewrite ^/(.*)$ /index.php/$1 last;                       break;               }       }        location ~ .+\.php($|/) {           root           /home/www/www_phpno_com/admin_wwwroot;           fastcgi_index index.php;           fastcgi_split_path_info ^(.+\.php)(.*)$;           fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;           fastcgi_param   PATH_INFO               $fastcgi_path_info;           fastcgi_param   PATH_TRANSLATED $document_root$fastcgi_path_info;           fastcgi_pass   127.0.0.1:9000;       #    fastcgi_index  index.php;       #    fastcgi_param  SCRIPT_FILENAME  /home/www/www_phpno_com/admin_wwwroot/$fastcgi_script_name;       #    fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html/$fastcgi_script_name;           include        fastcgi_params;       }   }

自己对比改一下

照着弄了一下也不行呢

location ~ \.php$ {	    fastcgi_split_path_info	^(.+\.php)(.*)$;	    include		fastcgi_params;	    fastcgi_param	SCRIPT_FILENAME $document_root$fastcgi_script_name;	    fastcgi_param	SERVER_NAME $http_host;	    fastcgi_param	PATH_INFO $fastcgi_path_info;	    fastcgi_param	PATH_TRANSLATED $document_root$fastcgi_path_info;	    fastcgi_pass	unix:/var/run/php-fpm/php-fpm.sock;	    fastcgi_param	SCRIPT_NAME $fastcgi_script_name;	    root		/data/php/www;        }

解决了,如果你的ThinkPHP安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。

        location /youdomain/ {            if (!-e $request_filename){     <strong style="color:transparent">¥本文来源gaodai#ma#com搞@@代~&码网^</strong><small>搞gaodaima代码</small>           rewrite  ^/youdomain/(.*)$  /youdomain/index.php?s=$1  last;            }        }

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:thinkPhp在nginx下伪静态不能使用了
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址