php文件后如何跟路径?
偶然发现php文件后还能跟路径。
例如:
http://forum.sunhb.me/index.php/admin
请问这是如何实现的,如何写代码?谢谢。
(初学者,请耐心回答,谢谢)
回复内容:
偶然发现php文件后还能跟路径。
例如:
http://forum.sunhb.me/index.php/admin
请问这是如何实现的,如何写代码?谢谢。
(初学者,请耐心回答,谢谢)
大多数用php
实现的应用, 都是单一入口, 即把所有对该应用的请求, 对转发到入口文件(index.php, app.php)等,
比如你现在的这个问题segmentfault
,你还可以这样来访问 https://segmentfault.com/index.php/q/1010000005985468
把所有请求都转发到单一入口, 有利于面向对象php框架的设计, 也有利于URL美化。 上面的那个URL肯定是不要index.php的好看多了吧
如nginx
的请求转发
location { if (!-e $request_filename ){ rewrite ^/(.*) /app.php?$1 last; } location ~ \.php$ { fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; include fastcgi_params; } }
以上nginx的配置就是把所有请求都转发到app.php
apache
的配置
Apache常用.htaccess
文件来重写URL
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
以上Apache配置吧所有请求转发到index.php
无论是那种方式, 目的都是为了隐藏应用的入口文件(index.php ...), 使你访问https://segmentfault.com/index.php/q/1010000005985468 和https://segmentfault.com/q/1010000005985468
都得到同样的效果, 对客户URL友好又不暴露自己的应用设计细节
WebServer的rewrite功能。
当然有个index.php不好看,应该是:
http://forum.sunhb.me/admin
这是PHP一个路由实现。在index.php中通过解析$_SERVER['REQUEST_URI']
来进行脚本执行。
像http://forum.sunhb.me/index.php/admin
可能会解析为http://forum.sunhb.me/index.php?controller=admin
这样就会读取admin模块的首页了
当然只这么做会在URL上显示index.php,不太美观,对SEO也不友好。通常会加上服务器的rewrite操作。
PS:初学者的话可以参考一下ThinkPHP的路由,有个大概的理解。当然也不要太依赖TP框架

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c

CakePHP ialah rangka kerja MVC sumber terbuka. Ia menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP mempunyai beberapa perpustakaan untuk mengurangkan beban tugas yang paling biasa.

Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data
