天天看點

thinkphp 重寫

我們知道,在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檔案放到入口檔案的同級目錄下