簡體   English   中英

WordPress htacces,刪除www,重定向到子文件夾,清理URL

[英]Wordpress htacces, remove www, redirect to subfolder, clean url

有沒有人可以幫助我創建一個不錯的htaccess文件? 我目前在:

RewriteEngine on
Options +FollowSymlinks -MultiViews

RewriteCond %{SERVER_PORT} =80
RewriteCond %{HTTP_HOST} ^(www.)?outsideit.net$
RewriteCond %{REQUEST_URI} !^/main/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ http://outsideit.net/main/$1
RewriteCond %{HTTP_HOST} ^outsideit\.net$
RewriteRule ^(/)?$ http://outsideit.net/main/index.php [R=301,L,QSA,NE]

我的目標是從URL中刪除www,然后將URL重定向到子文件夾main,然后隱藏/ main /,以便URL始終為http://outsideit.net,我可以設法實現以上目標與:

RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [NE,R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/main/
RewriteRule ^(.*)$ /main/$1
RewriteCond %{HTTP_HOST} ^(www.)?outsideit.net$
RewriteRule ^(/)?$ main/ [L]

但是,該站點不再工作,並顯示錯誤“頁面無法正確重定向”。 因此,我需要以某種方式轉到index.php。

感謝您對此的任何幫助。

威廉

WordPress本身就可以做到這一點,而無需盡可能多地修改.htaccess。 按照此處的指示進行操作: http : //codex.wordpress.org/Giving_WordPress_Its_Own_Directory

首先,開始安裝之前,請先回到安裝根目錄(而不是站點根目錄)中的干凈的.htaccess文件。 供您參考,這是默認.htaccess的副本:

# BEGIN WordPress  
<IfModule mod_rewrite.c>  
RewriteEngine On  
RewriteBase /  
RewriteRule ^index\.php$ - [L]  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule . /index.php [L]  
</IfModule>  
# END WordPress

然后按照以下說明進行操作:

為要存儲的核心WordPress文件創建新位置(在示例中,我們將使用/ wordpress)。 (在Linux上,從www目錄使用mkdir wordpress。您可能要在創建的wordpress目錄上使用“ chown apache:apache”。)

轉到常規面板。

在WordPress地址(URL)框中:將地址更改為主要WordPress核心文件的新位置。 示例: http//example.com/wordpress

在“站點地址(URL)”框中:將地址更改為根目錄的URL。 范例: http//example.com

單擊保存更改。 (不要擔心錯誤消息,並且現在不要嘗試查看您的博客!您可能會收到關於找不到文件的消息。)

將您的WordPress核心文件移動到新位置(WordPress地址)。

將WordPress目錄中的index.php和.htaccess文件復制(不移動!)到您網站的根目錄(博客地址)中。 .htaccess文件是不可見的,因此您可能必須將FTP客戶端設置為顯示隱藏文件。 如果您沒有使用漂亮的永久鏈接,則可能沒有.htaccess文件。 如果您在Windows(IIS)服務器上運行WordPress並使用漂亮的永久鏈接,則WordPress目錄中將有一個web.config文件而不是.htaccess文件。 對於index.php文件,說明仍然相同,請將index.php文件復制(不要移動)到您的根目錄中。 必須將web.config文件與.htaccess文件區別對待,因此您必須將web.config文件移動(不要復制)到根目錄中。

在文本編輯器中打開根目錄的index.php文件

更改以下內容並保存文件。 更改以下行: require( dirname( __FILE__ ) . '/wp-blog-header.php' ); 使用WordPress核心文件的目錄名稱進行以下操作: require( dirname( __FILE__ ) . '/wordpress/wp-blog-header.php' );

登錄到新位置。 現在可能是http://example.com/wordpress/wp-admin/

為要存儲的核心WordPress文件創建新位置(在示例中,我們將使用/ wordpress)。 (在Linux上,從www目錄使用mkdir wordpress。您可能要在創建的wordpress目錄上使用“ chown apache:apache”。)

它會自動從www重定向到非www,而無需進行其他修改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM