技術人員大都使用過大名鼎鼎的ThinkPHP的程序框架,使用PHP語言開發的CMS系統中采用TP框架的占絕大多數。然而,對于新手來說直接上手開發整站系統還是有難度的,可以考慮先從一些成熟的基于TP框架的CMS系統開始著手學習。在系統中一般會采用偽靜態,那么就會少不了路由規則,不熟悉正則表達式的同學有可能搞不定一些URL顯示問題,如:TP框架運行時默認路徑運行方式,會顯示index.php/路徑,不管哪個目錄都會包含index.php這個文件名,看起來不夠大氣,如何修改路由規則去掉這個文件名,就需要對.htaccess文件進行調整。
以Apache為例,需要在入口文件的同級添加.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] </IfModule>
如果用的phpstudy,規則如下:
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1] </IfModule>
如果index.php文件存放在public中,規則如下:
<IfModule mod_rewrite.c> Options +FollowSymlinks -Multiviews RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ public/index.php [L,E=PATH_INFO:$1] </IfModule>
如果你使用的apache版本使用上面的方式無法正常隱藏index.php,可以嘗試使用下面的方式配置.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] </IfModule>
如果是Nginx環境的話,可以在Nginx.conf中添加:
location / { // …..省略部分代碼 if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } } vhosts-conf server { listen 80; server_name xhb.com www.xhb.com; root "F:/project/xhb"; location / { index index.html index.htm index.php; if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; break; } #autoindex on; } location ~ \.php(.*)$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\.php)(/?.+)$; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; include fastcgi_params; } }
- 上一篇:網絡營銷:為達到一定營銷目的的全面營銷活動
- 下一篇:快速提升關鍵詞排名技巧
我漢獅網絡提供網站建設、APP軟件開發、軟件開發、小程序開發、網站網絡營銷等一站式服務,歡迎企業咨詢
免費咨詢:18838171308
免費咨詢:18838171308