apache
httpd.conf
Elmod_rewrite.so
módulo se carga en el archivo de configuración.AllowOverride None
SeráNone
cambiado aAll
- Guarde el siguiente contenido como un
.htaccess
archivo y colóquelo en el mismo directorio que el archivo de entrada de la aplicación: -
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L] </IfModule>
IIS
Si el entorno de su servidor lo admite ISAPI_Rewrite
, puede configurar el httpd.ini
archivo y agregar el siguiente contenido:
RewriteRule (.*)$ /index\.php\?s=$1 [I]
Se puede configurar bajo la versión superior de IIS web.Config
, agregando rewrite
nodos en el medio :
<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>
Nginx
En la versión inferior de Nginx, PATHINFO no es compatible, pero se puede lograr Nginx.conf
configurando reglas de reenvío en:
location / { // …..省略部分代码
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?s=/$1 last;
}
}
De hecho, se reenvía a la URL compatible proporcionada por ThinkPHP, de esta manera se pueden solucionar otros entornos de servidor WEB que no soportan PATHINFO.
Si su aplicación está instalada en un directorio secundario, Nginx
el método pseudoestático se establece de la siguiente manera, donde youdomain
es el nombre del directorio.
location /youdomain/ {
if (!-e $request_filename){
rewrite ^/youdomain/(.*)$ /youdomain/index.php?s=/$1 last;
}
}
URL de acceso original:
http://serverName/index.php/模块/控制器/操作/[参数名/参数值...]
Después de la configuración, podemos acceder de la siguiente manera:
http://serverName/模块/控制器/操作/[参数名/参数值...]