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框架

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

CakePHP はオープンソースの MVC フレームワークです。これにより、アプリケーションの開発、展開、保守がはるかに簡単になります。 CakePHP には、最も一般的なタスクの過負荷を軽減するためのライブラリが多数あります。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます
