Proses capaian URL dalam rangka kerja


. Jika Jika mod berbilang aplikasi automatik dihidupkan, URL secara amnya

http://serverName/index.php(或者其它入口文件)/控制器/操作/参数/值…

Akses URL mod biasa tidak lagi disokong, tetapi parameter boleh menyokong nilai lulus dengan cara biasa

Jika pelayan tidak menyokong PATHINFO, anda boleh menggunakan mod keserasian untuk mengakses perkara berikut:

http://serverName/index.php/应用/控制器/操作/参数/值...
Peraturan penulisan semula URL

boleh digunakan untuk menyembunyikan fail masukan index.php aplikasi melalui penulisan semula URL (ia juga boleh menjadi fail entri lain, tetapi URL penulisan semula biasanya hanya boleh menetapkan satu fail masukan). Berikut ialah rujukan konfigurasi pelayan yang berkaitan:

[Apache]

1 Modul mod_rewrite.so dimuatkan dalam fail konfigurasi httpd.conf

2.AllowOverride None Change None to All

3 Simpan kandungan berikut sebagai .htaccess Fail diletakkan dalam direktori yang sama dengan fail kemasukan aplikasi

http://serverName/index.php?s=/控制器/操作/[参数名/参数值...]
[IIS](windows)

.

Jika persekitaran pelayan anda menyokong ISAPI_Rewrite, anda boleh mengkonfigurasi fail httpd.ini dan menambah kandungan berikut:

<IfModule mod_rewrite.c>
  Options +FollowSymlinks -Multiviews
  RewriteEngine On

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^(.*)$ index.php/ [QSA,PT,L]
</IfModule>

Dalam versi IIS yang lebih tinggi, anda boleh mengkonfigurasi web.Config dan menambah nod tulis semula di tengah:

RewriteRule (.*)$ /index\.php\?s= [I]

[ Nginx ]

Dalam versi Nginx yang lebih rendah, PATHINFO tidak disokong, tetapi ia boleh dicapai dengan mengkonfigurasi peraturan pemajuan dalam Nginx.conf:

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

Malah, ia dimajukan secara dalaman ke URL serasi yang disediakan oleh ThinkPHP Dengan cara ini , ia boleh diselesaikan Persekitaran pelayan WEB lain yang tidak menyokong PATHINFO.