虛擬主機怎么設置偽靜態?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
虛擬主機提供商一般提供偽靜態規則,不過我們也可以自行設置。這里虛擬主機區分Linux虛擬主機和Windows虛擬主機,兩個系統下,偽靜態的寫法會有差異。另外網站所采用的系統也會給偽靜態寫法造成不同,比如CMS系統、WordPress系統等。下面我們來詳細講解下怎么設置虛擬主機偽靜態。
一、帝國CMS偽靜態設置技巧
帝國CMS建議直接生成靜態頁,但有時候也確實希望偽靜態,這里以 帝國CMS7.0為例。PHP虛擬主機下設置偽靜態:
1、確認空間支持偽靜態,有些空間商的空間是需要手動開啟偽靜態功能的。
2、后臺–系統–系統設置–偽靜態參數設置,設置好偽靜態規則。
3、新建 .htaccess 文件,放在網站根目錄下。
.htaccess文件中寫入如下規則:(注意規則文件中的規則要與后臺設置的一致)
# 將 RewriteEngine 模式打開 RewriteEngine On #信息內容頁:showinfo-[!--classid--]-[!--id--]-[!--page--].html RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^showinfo-(.+?)-(.+?)-(.+?)/.html$ /e/action/ShowInfo.php?classid=$1&id=$2&page=$3 #信息列表:listinfo-[!--classid--]-[!--page--].html RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^listinfo-(.+?)-(.+?)/.html$ /e/action/ListInfo/index.php?classid=$1&page=$2 #標題分類列表頁:infotype-[!--ttid--]-[!--page--].html RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^infotype-(.+?)-(.+?)/.html$ /e/action/InfoType/index.php?ttid=$1&page=$2 #TAGS信息列表頁:tags-[!--tagname--]-[!--page--].html RewriteCond %{QUERY_STRING} ^(.*)$ RewriteRule ^tags-(.+?)-(.+?)/.html$ /e/tags/index.php?tagname=$1&page=$2
二、WordPress偽靜態設置規則
修改WordPress固定鏈接偽靜態化后,網頁卻打不開,出現這種情況這是因為缺少偽靜態規則。
WordPress固定鏈接偽靜態化設置規則,是根據你主機環境來決定的,不需要插件,網上運行的wordpress無非IIS/Apache/Nginx這三種環境。
WordPress固定鏈接偽靜態化設置技巧多種多樣,需要對號入座。如果使用的是虛擬主機,大多數的IDC服務商,都支持wordpress偽靜態,直接在后臺修改固定鏈接設置即可。
1、Linux服務器環境
請確保你的根目錄開啟了777權限,已開啟的話,在修改自定義固定鏈接后的瞬間,會在主機根目錄自動生成一個.htaccess的文件,打開查看是否已生成規則,生成的話,就OK了,就不需要往下看了。
如果沒有生成.htaccess,或者.htaccess里沒有內容,那就需要手動創建一個txt文件,使用上傳軟件修改名為 .htaccess,粘貼Apache或Nginx規則代碼,保存并上傳到網站根目錄就行了。
Apache規則
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>
Nginx規則
location / { if (-f $request_filename/index.html){ rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } }
2、Windows主機IIS環境下偽靜態規則
你使用的windows主機必須安裝了裝Rewrite 組件才能支持偽靜態,咨詢下你的云服務提供商所使用的主機是否支持偽靜態,支持的話請繼續往下看。
如果主機支持偽靜態,在修改wordpress固定鏈接后無法偽靜態,在根目錄自動生成一個httpd.ini,沒有生成的話,就創建一個txt文本,修改名字為httpd.ini,復制粘貼下邊代碼,保存上傳到根目錄。
[ISAPI_Rewrite] # Defend your computer from some worm attacks #RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O] # 3600 = 1 hour CacheClockRate 3600 RepeatLimit 32 # Protect httpd.ini and httpd.parse.errors files # from accessing through HTTP # Rules to ensure that normal content gets through RewriteRule /tag/(.*) /index\.php\?tag=$1 RewriteRule /software-files/(.*) /software-files/$1 [L] RewriteRule /images/(.*) /images/$1 [L] RewriteRule /sitemap.xml /sitemap.xml [L] RewriteRule /favicon.ico /favicon.ico [L] # For file-based wordpress content (i.e. theme), admin, etc. RewriteRule /wp-(.*) /wp-$1 [L] # For normal wordpress content, via index.php RewriteRule ^/$ /index.php [L] RewriteRule /(.*) /index.php/$1 [L]
PS:
如果你不知道所使用的主機是什么系統,或使用的Linux或Windows系統的vps主機,不會配置偽靜態規則,可以咨詢你的云服務商,他們會幫助你實現wordpress偽靜態,雖然設置了偽靜態,只是展示的偽靜態后綴,其實還是動態頁面,如果想完全靜態頁面,可以安裝WP Super Cache或者Hyper Cache插件,為全站生成靜態頁面緩存。
看完上述內容,你們掌握虛擬主機怎么設置偽靜態的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。