我們知道,在thinkphp的案例中有一個.htaccess檔案,裡面配置了URL的一些重寫規則,如:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>
它的作用就是設定URL重寫以隐藏URL中含有的index.php。一般來說URL過長或者動态化的URL都不利于SEO是以隐藏的目的就是要達到更好的SEO效果。
明白了.htaccess檔案的作用,接下來就是讓它工作起來。
要使.htaccess檔案起作用,通常需要伺服器開啟URL_REWRITE子產品才能支援。
下面是Apache的配置過程:
1、httpd.conf配置檔案中加載了mod_rewrite.so子產品
在httpd.conf配置檔案搜尋 LoadModule rewrite_module modules/mod_rewrite.so (Apache2是這個)去掉前面的#
2、AllowOverride None 将None改為 All
在httpd.conf配置檔案找到“AllowOverride None”将None改為 All。這點值得注意的是,“AllowOverride None”在檔案中能找到幾處,但要改的卻隻有一處。如圖所示:
3、確定項目(一般是前台項目)配置檔案的URL_MODEL設定為2
4、把.htaccess檔案放到入口檔案的同級目錄下