您好,欢迎访问一九零五行业门户网

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/blogs5. 问题说明有些乱,朋友们可以解答我的遗憾吗?nginx配置文件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;}

回复内容: 问题描述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/blogs5. 问题说明有些乱,朋友们可以解答我的遗憾吗?nginx配置文件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;}

可以参考这个:http://www.jb51.net/article/8...
不确定能用
估计是nginx配置的问题,给你个配置:
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last;
}
}
其它类似信息

推荐信息