溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

虛擬主機怎么設置偽靜態

發布時間:2020-10-12 15:45:28 來源:億速云 閱讀:215 作者:Leah 欄目:云計算

虛擬主機怎么設置偽靜態?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

虛擬主機提供商一般提供偽靜態規則,不過我們也可以自行設置。這里虛擬主機區分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插件,為全站生成靜態頁面緩存。

看完上述內容,你們掌握虛擬主機怎么設置偽靜態的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女