Heim Backend-Entwicklung PHP-Tutorial ThinkPHP32URL重写隐藏应用的入口文件indexphp

ThinkPHP32URL重写隐藏应用的入口文件indexphp

Jul 29, 2016 am 08:55 AM
index quot request rewrite

可以通过URL重写隐藏应用的入口文件index.php,下面是相关服务器的配置参考:

[ Apache ]

  1. httpd.conf配置文件中加载了mod_rewrite.so模块
  2. AllowOverride None 将None改为 All
  3. 把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下
<ol>
<li><code><span><ifmodule><span>mod_rewrite</span><span>.</span><span>c</span><span>></span></ifmodule></span></code></li>
<li><code><span> RewriteEngine on</span></code></li>
<li><code><span> RewriteCond %{REQUEST_FILENAME} !-d</span></code></li>
<li><code><span> RewriteCond %{REQUEST_FILENAME} !-f</span></code></li>
<li><code><span> RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</span></code></li>
<li><code><span></span></code></li>
</ol>
Nach dem Login kopieren

[ IIS ]

如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:

<ol><li><code><span>RewriteRule</span><span>(.*)</span><span>$ </span><span>/</span><span>index\.php\?s</span><span>=</span><span>$1 </span><span>[</span><span>I</span><span>]</span></code></li></ol>
Nach dem Login kopieren

在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:

<ol>
<li><code><span><rewrite></rewrite></span></code></li>
<li><code><span><rules></rules></span></code></li>
<li><code><span><rule><span>name</span><span>=</span><span>"OrgPage"</span><span>stopProcessing</span><span>=</span><span>"true"</span><span>></span></rule></span></code></li>
<li><code><span><match><span>url</span><span>=</span><span>"^(.*)$"</span><span>/></span></match></span></code></li>
<li><code><span><conditions><span>logicalGrouping</span><span>=</span><span>"MatchAll"</span><span>></span></conditions></span></code></li>
<li><code><span><add><span>input</span><span>=</span><span>"{HTTP_HOST}"</span><span>pattern</span><span>=</span><span>"^(.*)$"</span><span>/></span></add></span></code></li>
<li><code><span><add><span>input</span><span>=</span><span>"{REQUEST_FILENAME}"</span><span>matchType</span><span>=</span><span>"IsFile"</span><span>negate</span><span>=</span><span>"true"</span><span>/></span></add></span></code></li>
<li><code><span><add><span>input</span><span>=</span><span>"{REQUEST_FILENAME}"</span><span>matchType</span><span>=</span><span>"IsDirectory"</span><span>negate</span><span>=</span><span>"true"</span><span>/></span></add></span></code></li>
<li><code><span></span></code></li>
<li><code><span><action><span>type</span><span>=</span><span>"Rewrite"</span><span>url</span><span>=</span><span>"index.php/{R:1}"</span><span>/></span></action></span></code></li>
<li><code><span></span></code></li>
<li><code><span></span></code></li>
<li><code><span></span></code></li>
</ol>
Nach dem Login kopieren

[ Nginx ]

在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现:

<ol>
<li><code><span>  location </span><span>/</span><span>{</span><span>// …..省略部分代码</span></code></li>
<li><code><span>if</span><span>(!-</span><span>e $request_filename</span><span>)</span><span>{</span></code></li>
<li><code><span>   rewrite  </span><span>^(.*)</span><span>$  </span><span>/</span><span>index</span><span>.</span><span>php</span><span>?</span><span>s</span><span>=</span><span>$1  </span><span>last</span><span>;</span></code></li>
<li><code><span>break</span><span>;</span></code></li>
<li><code><span>}</span></code></li>
<li><code><span>}</span></code></li>
</ol>
Nach dem Login kopieren

其实内部是转发到了ThinkPHP提供的兼容模式的URL,利用这种方式,可以解决其他不支持PATHINFO的WEB服务器环境。

如果你的ThinkPHP安装在二级目录,Nginx的伪静态方法设置如下,其中youdomain是所在的目录名称。youdomain需要按照入口文件index.php的目录来确定。

<ol>
<li><code><span>location </span><span>/</span><span>youdomain</span><span>/</span><span>{</span></code></li>
<li><code><span>if</span><span>(!-</span><span>e $request_filename</span><span>){</span></code></li>
<li><code><span>        rewrite  </span><span>^</span><span>/youdomain/</span><span>(.*)</span><span>$  </span><span>/</span><span>youdomain</span><span>/</span><span>index</span><span>.</span><span>php</span><span>?</span><span>s</span><span>=</span><span>$1  </span><span>last</span><span>;</span></code></li>
<li><code><span>}</span></code></li>
<li><code><span>}</span></code></li>
</ol>
Nach dem Login kopieren

原来的访问URL:

http://serverName/index.php/模块/控制器/操作/[参数名/参数值...]

设置后,我们可以采用下面的方式访问:

http://serverName/模块/控制器/操作/[参数名/参数值...]

默认情况下,URL地址中的模块不能省略,如果你需要简化某个模块的URL访问地址,可以通过设置模块列表和默认模块或者采用子域名部署到模块的方式解决,请参考后面的模块和域名部署部分。

以上就介绍了ThinkPHP32URL重写隐藏应用的入口文件indexphp,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Welche Datei ist index.html? Welche Datei ist index.html? Feb 19, 2024 pm 01:36 PM

index.html stellt die Homepage-Datei der Webseite dar und ist die Standardseite der Website. Wenn ein Benutzer eine Website besucht, wird normalerweise zuerst die Seite index.html geladen. HTML (HypertextMarkupLanguage) ist eine Auszeichnungssprache, die zum Erstellen von Webseiten verwendet wird, und index.html ist ebenfalls eine HTML-Datei. Es enthält die Struktur und den Inhalt einer Webseite sowie Tags und Elemente, die zur Formatierung und zum Layout verwendet werden. Hier ist ein Beispiel für index.html-Code: &lt

Was bedeutet PHP-Anfrage? Was bedeutet PHP-Anfrage? Jul 07, 2021 pm 01:49 PM

Die chinesische Bedeutung von request ist „request“. Es ist eine globale Variable in PHP und ein Array, das „$_POST“, „$_GET“ und „$_COOKIE“ enthält. Die Variable „$_REQUEST“ kann per POST oder GET übermittelte Daten und COOKIE-Informationen abrufen.

So verwenden Sie die Funktion urllib.request.urlopen() zum Senden einer GET-Anfrage in Python 3.x So verwenden Sie die Funktion urllib.request.urlopen() zum Senden einer GET-Anfrage in Python 3.x Jul 30, 2023 am 11:28 AM

So verwenden Sie die Funktion urllib.request.urlopen() in Python3.x, um eine GET-Anfrage zu senden. Bei der Netzwerkprogrammierung müssen wir häufig Daten von einem Remote-Server erhalten, indem wir eine HTTP-Anfrage senden. In Python können wir die Funktion urllib.request.urlopen() im Modul urllib verwenden, um eine HTTP-Anfrage zu senden und die vom Server zurückgegebene Antwort zu erhalten. In diesem Artikel wird die Verwendung vorgestellt

Was ist das Request-Objekt in PHP? Was ist das Request-Objekt in PHP? Feb 27, 2024 pm 09:06 PM

Das Request-Objekt in PHP ist ein Objekt, das zur Verarbeitung von HTTP-Anfragen verwendet wird, die vom Client an den Server gesendet werden. Über das Request-Objekt können wir die Anforderungsinformationen des Clients abrufen, z. B. die Anforderungsmethode, die Anforderungsheaderinformationen, die Anforderungsparameter usw., um die Anforderung zu verarbeiten und zu beantworten. In PHP können Sie globale Variablen wie $_REQUEST, $_GET, $_POST usw. verwenden, um angeforderte Informationen zu erhalten, aber diese Variablen sind keine Objekte, sondern Arrays. Um Anfrageinformationen flexibler und bequemer bearbeiten zu können, können Sie dies tun

Wie Nginx Rewrite den URL-Sprung implementiert Wie Nginx Rewrite den URL-Sprung implementiert Jun 03, 2023 am 11:55 AM

URL-Sprung Der hier erwähnte URL-Sprung dient dazu, zu einer anderen URL zu springen, wenn der Benutzer auf eine URL zugreift. Ein häufiges Anwendungsszenario besteht darin, mehrere Domänennamen zu derselben URL springen zu lassen (z. B. den alten Domänennamen zu einem neuen Domänennamen springen zu lassen), statische Dateianforderungen an CDN zu springen usw. Je nach Benutzergerät zu verschiedenen Websites zu springen (PC-Version, WAP-Version) usw. Der URL-Sprung kann durch Festlegen von window.location auf der Seite mit js oder durch Festlegen des Headers mit php erreicht werden. Natürlich kann er auch mit der Rewrite-Funktion von Nginx implementiert werden. Das Nginxrewrite-Modul Rewrite ist das statische Rewrite-Modul von Nginx . Die grundlegende Verwendung ist rewritepattenre.

So kapseln Sie den Vue3 Axios-Interceptor in eine Anforderungsdatei So kapseln Sie den Vue3 Axios-Interceptor in eine Anforderungsdatei May 19, 2023 am 11:49 AM

1. Erstellen Sie eine neue Datei namens request.js und importieren Sie Axios: importaxiosfrom'axios'; 2. Erstellen Sie eine Funktion namens request und exportieren Sie sie: Dadurch wird eine Funktion namens request erstellt und exportiert. Richten Sie eine neue Axios-Instanz mit einer Basis-URL ein . Um Timeout-Einstellungen in einer umschlossenen Axios-Instanz hinzuzufügen, können Sie beim Erstellen der Axios-Instanz die Timeout-Option übergeben. exportconstrequest=axios.create({baseURL:'https://example.

Die Rolle und Bedeutung von Request in PHP Die Rolle und Bedeutung von Request in PHP Feb 27, 2024 pm 12:54 PM

Die Rolle und Bedeutung von Request in PHP In der PHP-Programmierung ist Request ein Mechanismus zum Senden von Anfragen an den Webserver. Er spielt eine wichtige Rolle bei der Webentwicklung. Request wird hauptsächlich verwendet, um vom Client gesendete Daten abzurufen, z. B. Formularübermittlung, GET- oder POST-Anfrage usw. Über Request können die vom Benutzer eingegebenen Daten abgerufen und die Daten verarbeitet und beantwortet werden. In diesem Artikel werden die Rolle und Bedeutung von Request in PHP vorgestellt und spezifische Codebeispiele gegeben.

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

See all articles