介绍
本地虚拟主机使用的是phpStudy
程序代码使用的是ThinkPHP 3.2
配置URL重新去除每次访问的Index.php
,结果一直报错:No input file specified
解决
配置URL重写
- 点击
phpStudy
→ 其他选项 → 打开配置文件 →httpd-conf
。修改``httpd.conf`文件
# 1. 找到下面这行配置,去掉前面的 “#”,如果已经去掉,忽略此操作
LoadModule rewrite_module modules/mod_rewrite.so
# 2. 找到AllowOverride None,将None改为All,如下:
<Directory />
Options +Indexes +FollowSymLinks +ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
</Directory>
-
如果配置了虚拟主机,同样找到设置的主机
Directory
(点击phpStudy
→ 其他选项 → 打开配置文件 →vhosts-ini
),将AllowOverride None
改为AllowOverride All
。 -
在项目根目录下创建
.htaccess
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
修改PHP运行模式
正常情况下,按照以上配置结束后就可以实现URL
重写的效果
但有时仍然会报错。原因是因为PHP
运行模式是nts
(非线程安全),而在windows
下要使用ts
(线程安全)的PHP
版本
- 点击
phpStudy
→ 切换版本 → 选择一个没有-nts
标识的版本
发表评论