使用ThinkPHP时自动生成的URL可以隐藏index.php,访问时URL就变成了:主机地址+模块名+控制器名+操作+参数......使用的是TP的URL的rewrite模式,在配置文件中使用“URL_MOUDLE”=>2
但是需要设置服务器配置
[ Apache ]
httpd.conf配置文件中:
加载mod_rewrite.so模块
AllowOverride None 将None改为 All
把下面的内容保存为.htaccess文件放到应用入口文件的同级目录下
<span style="font-size:18px;"><IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]</IfModule> </span>
如果你的服务器环境支持ISAPI_Rewrite的话,可以配置httpd.ini文件,添加下面的内容:
<span style="font-size:18px;">RewriteRule (.*)$ /index\.php\?s=$1 [I]</span>
在IIS的高版本下面可以配置web.Config,在中间添加rewrite节点:
<span style="font-size:18px;"><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> </span>
相关推荐:
thinkphp隐藏index.php/home,并允许访问其他模块
PHP5.4+内置webserver,Yii中如何隐藏index.php,让URL rewrite
The above is the detailed content of ThinkPHP3.2 hides the method code of index.php. For more information, please follow other related articles on the PHP Chinese website!