Wordpress htaccess,删除www,重定向到子文件夹,清理网址

时间:2014-07-10 16:57:25

标签: wordpress .htaccess

有没有人可以帮我创建一个体面的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]

我的目标是从网址中删除www,然后将网址重定向到子文件夹主文件,然后隐藏/ main /,这样网址将始终为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。

感谢您提供任何帮助。

威廉

1 个答案:

答案 0 :(得分:0)

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目录中使用&#34; chown apache:apache&#34;)

     

转到“常规”面板。

     

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

     

在网站地址(URL)框中:将地址更改为根目录的URL。示例:http://example.com

     

单击“保存更改”。 (不要担心错误消息,此时不要尝试查看您的博客!您可能会收到有关未找到文件的消息。)

     

将WordPress核心文件移动到新位置(WordPress地址)。

     

将index.php和.htaccess文件从WordPress目录复制(NOT MOVE!)到您网站的根目录(博客地址)。 .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目录中使用&#34; chown apache:apache&#34;)

它将自动从www重定向到非www,无需进行其他修改。

相关问题