本文主要是针对新人使用PHPstudy 配置 Nginx 的路由重写,TP框架隐藏index.php的方法

废话不多说,先上截图:

 首先:解释下打码部分:listen ->对应的服务端口    server_name->对应的服务名(域名、IP地址等)   root->对应的服务在主机上的绝对路径。

第二:配置fastcgi_pass的端口:如图我配置的事9000,请各位自行配置成自己主机上未被占用的端口.

第三:将TP框架下,public文件夹下面的 .htaccess 文件内容替换入下:

<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?/$1 [QSA,PT,L]
</IfModule>

和源文件唯一的差别在于 Rule的index.php后方多了一个  ?   ,之后使用PHPstudy重启服务即可.   

### 如何在PHPStudy中设置和配置Nginx服务器 #### 配置URL重写美化路径省略`index.php` 为了使URL更加简洁美观,在PHPStudy中的Nginx可以按照如下方式来配置以去除访问链接里的`index.php`部分。编辑站点对应的`.conf`文件,通常位于phpStudy安装目录下的`PHPTutorial/nginx/conf/vhost/`内[^1]。 ```nginx server { listen 80; server_name localhost; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } } ``` 此段配置实现了当请求不存在实际物理文件或目录时自动转向至`index.php`处理,并保留原始查询字符串参数。 #### 解决跨域资源共享(CORS) 对于需要支持来自不同源的HTTP请求的应用程序来说,可以在Nginx配置里加入特定头部信息允许跨域资源加载。同样是在对应网站配置文件中添加以下内容实现跨域权限开放[^2]: ```nginx location / { add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; if ($request_method = 'OPTIONS') { return 204; } } ``` 这段代码设置了响应头字段,告知浏览器哪些域名、方法以及自定义头部被授权用于发起CORS预检请求。 #### ThinkPHP框架适配 如果使用的是ThinkPHP5这样的MVC架构,则需要注意调整根目录指向项目的`public`子文件夹而不是默认的顶级目录。修改`root`指令并确保路径分隔符统一采用正斜杠形式而非反斜杠,这是因为Nginx无法识别Windows风格的路径符号[^3]。 ```nginx server { ... root "E:/www/project/public"; # 注意这里要改成自己的项目位置,并且用/ location / { try_files $uri $uri/ @rewrite; } location @rewrite { rewrite ^/(.*)$ /index.php/$1 last; } location ~ \.php(/|$) { set $real_script_name $fastcgi_path_info; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; } } ``` 上述配置适用于大多数基于ThinkPHP或其他类似结构的应用部署需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值