nginx and apache service url problem
问题描述
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;
}
}

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

The core benefits of PHP include ease of learning, strong web development support, rich libraries and frameworks, high performance and scalability, cross-platform compatibility, and cost-effectiveness. 1) Easy to learn and use, suitable for beginners; 2) Good integration with web servers and supports multiple databases; 3) Have powerful frameworks such as Laravel; 4) High performance can be achieved through optimization; 5) Support multiple operating systems; 6) Open source to reduce development costs.

You can query the Docker container name by following the steps: List all containers (docker ps). Filter the container list (using the grep command). Gets the container name (located in the "NAMES" column).

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

Docker container startup steps: Pull the container image: Run "docker pull [mirror name]". Create a container: Use "docker create [options] [mirror name] [commands and parameters]". Start the container: Execute "docker start [Container name or ID]". Check container status: Verify that the container is running with "docker ps".

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

PHP is a server-side scripting language used for dynamic web development and server-side applications. 1.PHP is an interpreted language that does not require compilation and is suitable for rapid development. 2. PHP code is embedded in HTML, making it easy to develop web pages. 3. PHP processes server-side logic, generates HTML output, and supports user interaction and data processing. 4. PHP can interact with the database, process form submission, and execute server-side tasks.
