咱們知道,在thinkphp的案例中有一個.htaccess文件,裏面配置了URL的一些重寫規則,如:php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>web
它的做用就是設置URL重寫以隱藏URL中含有的index.php。通常來講URL過長或者動態化的URL都不利於SEO所以隱藏的目的就是要達到更好的SEO效果。
明白了.htaccess文件的做用,接下來就是讓它工做起來。
要使.htaccess文件起做用,一般須要服務器開啓URL_REWRITE模塊才能支持。thinkphp
下面是Apache的配置過程:服務器
一、httpd.conf配置文件中加載了mod_rewrite.so模塊
在httpd.conf配置文件搜索 LoadModule rewrite_module modules/mod_rewrite.so (Apache2是這個)去掉前面的#ide
二、AllowOverride None 將None改成 All
在httpd.conf配置文件找到「AllowOverride None」將None改成 All。這點值得注意的是,「AllowOverride None」在文件中能找到幾處,但要改的卻只有一處。如圖所示:spa
三、確保項目(通常是前臺項目)配置文件的URL_MODEL設置爲2orm
四、把.htaccess文件放到入口文件的同級目錄下ci