nginx与apache服务url问题
问题描述
1. 最近在做自己的小博客,本地用的wamp集成环境,线上是lnmp。web框架使用的是thinkphp5.0.1,项目中有一个模块是front
,控制器Article
,分别有index
、lists
、show
方法。
2. tp框架中设置路由,如下所示
#front文章 'blog' => ['front/Article/index', [], []], 'a/:id' => ['front/Article/show', [], []], 'blogs' => ['front/Article/lists', [], []], 'blog/add' => ['front/Article/add', [], []], 'blog/edit/:id' => ['front/Article/edit', [], []],
3. 并且设置了index方法重定向至lists方法
public function index() { $this->redirect(Url::build('front/Article/lists', '', false)); }
4. 具体错误:在本地访问链接 1
http://www.ibala.top/blog
和链接 2
http://www.ibala.top/blog/
效果是一样的,均是跳转至链接 3
http://www.ibala.top/blogs
;当将项目迁移至线上时,就发现问题了,访问链接 2
时,却会跳转到 链接 4
http://www.ibala.top/index.php/blogs
5. 问题说明有些乱,朋友们可以解答我的遗憾吗?
nginx配置文件
<code>server { listen 80; #listen [::]:80; server_name ibala.top www.ibala.top; index index.html index.htm index.php; root /home/wwwroot/ibala.top/public; location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } } ## php配置,兼容thinkphp框架 location ~ .php { set $path_info ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; fastcgi_param SERVER_PORT 80; include fastcgi_params; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\.ht { deny all; } ## 禁止敏感文件的直接访问 location ~* \.(inc|bak|sql|lua|so|ini|conf)$ { deny all; } access_log /home/wwwlogs/ibala.top.log; }</code>
回复内容:
问题描述
1. 最近在做自己的小博客,本地用的wamp集成环境,线上是lnmp。web框架使用的是thinkphp5.0.1,项目中有一个模块是front
,控制器Article
,分别有index
、lists
、show
方法。
2. tp框架中设置路由,如下所示
#front文章 'blog' => ['front/Article/index', [], []], 'a/:id' => ['front/Article/show', [], []], 'blogs' => ['front/Article/lists', [], []], 'blog/add' => ['front/Article/add', [], []], 'blog/edit/:id' => ['front/Article/edit', [], []],
3. 并且设置了index方法重定向至lists方法
public function index() { $this->redirect(Url::build('front/Article/lists', '', false)); }
4. 具体错误:在本地访问链接 1
http://www.ibala.top/blog
和链接 2
http://www.ibala.top/blog/
效果是一样的,均是跳转至链接 3
http://www.ibala.top/blogs
;当将项目迁移至线上时,就发现问题了,访问链接 2
时,却会跳转到 链接 4
http://www.ibala.top/index.php/blogs
5. 问题说明有些乱,朋友们可以解答我的遗憾吗?
nginx配置文件
<code>server { listen 80; #listen [::]:80; server_name ibala.top www.ibala.top; index index.html index.htm index.php; root /home/wwwroot/ibala.top/public; location / { if (!-e $request_filename) { rewrite ^/(.*)$ /index.php/$1 last; break; } } ## php配置,兼容thinkphp框架 location ~ .php { set $path_info ""; set $real_script_name $fastcgi_script_name; if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { set $real_script_name $1; set $path_info $2; } fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; fastcgi_param SERVER_PORT 80; include fastcgi_params; } location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 12h; } location ~ /\.ht { deny all; } ## 禁止敏感文件的直接访问 location ~* \.(inc|bak|sql|lua|so|ini|conf)$ { deny all; } access_log /home/wwwlogs/ibala.top.log; }</code>
可以参考这个:http://www.jb51.net/article/8...
不确定能用
估计是nginx配置的问题,给你个配置:
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last;
}
}

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PHP主要是过程式编程,但也支持面向对象编程(OOP);Python支持多种范式,包括OOP、函数式和过程式编程。PHP适合web开发,Python适用于多种应用,如数据分析和机器学习。

PHP适合网页开发和快速原型开发,Python适用于数据科学和机器学习。1.PHP用于动态网页开发,语法简单,适合快速开发。2.Python语法简洁,适用于多领域,库生态系统强大。

PHP的核心优势包括易于学习、强大的web开发支持、丰富的库和框架、高性能和可扩展性、跨平台兼容性以及成本效益高。1)易于学习和使用,适合初学者;2)与web服务器集成好,支持多种数据库;3)拥有如Laravel等强大框架;4)通过优化可实现高性能;5)支持多种操作系统;6)开源,降低开发成本。

可以通过以下步骤查询 Docker 容器名称:列出所有容器(docker ps)。筛选容器列表(使用 grep 命令)。获取容器名称(位于 "NAMES" 列中)。

PHP起源于1994年,由RasmusLerdorf开发,最初用于跟踪网站访问者,逐渐演变为服务器端脚本语言,广泛应用于网页开发。Python由GuidovanRossum于1980年代末开发,1991年首次发布,强调代码可读性和简洁性,适用于科学计算、数据分析等领域。

Docker 容器启动步骤:拉取容器镜像:运行 "docker pull [镜像名称]"。创建容器:使用 "docker create [选项] [镜像名称] [命令和参数]"。启动容器:执行 "docker start [容器名称或 ID]"。检查容器状态:通过 "docker ps" 验证容器是否正在运行。

PHPhassignificantlyimpactedwebdevelopmentandextendsbeyondit.1)ItpowersmajorplatformslikeWordPressandexcelsindatabaseinteractions.2)PHP'sadaptabilityallowsittoscaleforlargeapplicationsusingframeworkslikeLaravel.3)Beyondweb,PHPisusedincommand-linescrip

PHP是一种服务器端脚本语言,用于动态网页开发和服务器端应用程序。1.PHP是一种解释型语言,无需编译,适合快速开发。2.PHP代码嵌入HTML中,易于网页开发。3.PHP处理服务器端逻辑,生成HTML输出,支持用户交互和数据处理。4.PHP可与数据库交互,处理表单提交,执行服务器端任务。
