1.修改apache2的配置文件 /etc/apache2/apache2.conf

修改根目录和AllowOverride权限

<Directory /home/ubuntu/thinkphp/tp6/think/public/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

 

2.修改/etc/apache2/sites-available/000-default.conf中的根目录

 

DocumentRoot /home/ubuntu/thinkphp/tp6/think/public

 

3.修改ThinkPHP public目录下的.htaccess文件:

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

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

 

4.执行

sudo a2enmod rewrite

 

5.重启服务

 

sudo service apache2 restart

 

可以这样访问了:

http://111.229.200.158/Index/myhello

 

注意,自带的hello因为路由问题不能http://111.229.200.158/Index/hello这样访问

 

如果配置了多站点,如/etc/apache2/sites-available/mysite.conf:

<VirtualHost *:8080>
<Directory /home/ubuntu/xhadmin/public>

AllowOverride All
Options Indexes FollowSymLinks
Require all granted
</Directory>
ServerAdmin webmaster@localhost
DocumentRoot /home/ubuntu/xhadmin/public

 

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined


</VirtualHost>

则一定要执行:

cd /etc/apache2/sites-available
sudo a2ensite mysite
sudo service apache2 reload

posted on 2020-02-23 08:10  garfieldtom  阅读(1229)  评论(0编辑  收藏  举报