2011-06-12 156 views
0

我有这个htaccess代码。我想做到的是能够将请求重定向到/约和/学习到/ wordpress的文件夹的内容,而不改变地址栏.htaccess代码重定向不改变URL

#Rewrite engine rules 
RewriteEngine on 
RewriteBase/

RewriteCond $1 !^(index\.php|import\.php|geocode\.php|robots\.txt|BingSiteAuth\.xml|y_key_88c0d00f4917d584\.html|favicon\.ico|images|img|uploads|css|js|topics|wordpress) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

RewriteRule ^about$ /wordpress [L] 
RewriteRule ^learn$ /wordpress [L] 

与/内容作为Web根目录的结构如下:

/content 
/wordpress 
    index.php (the wordpress index.php) 
.htaccess (the one we are editing) 
index.php (the codeigniter index.php) 

但是,htacess代码不起作用。

回答

0

事实证明,如果您重定向到WordPress的根目录地址栏正在改变。所以我做的是在Wordpress中创建一个“学习”和“关于”页面,以便他们进入/ wordpress/learn和/ wordpress/about。

将这个你上面的规则,那么(仅低于RewriteEngine叙述和RewriteBase声明):分别

RewriteRule ^about/$ /wordpress/$1 [L] 
RewriteRule ^learn/$ /wordpress/$1 [L] 

请求/约和/学习将被重定向到/ WordPress的/约和/ WordPress的/学习无改变地址栏。

注意:这似乎在Chrome中有问题。

0

尝试在通配符规则上移动您的特定规则。

目前你有

RewriteRule ^(.*)$ /index.php/$1 [L] 

您的具体规则之前,此规则将首先触发。 至于你的具体规则(关于/学习),你可能想重定向到/wordpress/index.php

请记住,如果你的wordpress文件夹有一个.htaccess文件,将使用一个代替CodeIgniter /根一个,但它似乎没有通过您的文件列表。

+0

我可以使用Wordpress的htaccess而不是重定向/学习和/ about。顺便说一下,你的答案不起作用。 – yretuta 2011-06-12 20:49:03

+0

重定向仍然由RewriteRule处理,即使在移动RewriteRule(s)for/about和/或学习之后,所有对index.php的请求都会通过。 – yretuta 2011-06-12 20:50:36

+0

如果在Wordpress文件夹中有一个.htaccess文件, t甚至在使用/ wordpress时使用 - 所以没有任何东西可以使它在根.htaccess中工作。但是,是的,你可以将重写转移到你的WordPress的.htaccess相反 - 但我认为wordpress已经通过配置支持SEO的URL? – 2011-06-12 20:51:21