2

同样的问题:使用 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

RewriteCond %{THE_REQUEST} ^GET\ /wp-admin/
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [R,L]
RewriteRule ^dashboard(.*)$ wp-admin$1

我总是得到:

页面未正确重定向

Firefox 检测到服务器正在以永远不会完成的方式重定向对该地址的请求。

dashboard-wp-admin似乎相互重定向;我只想显示mysite.com/dashboard,但内容必须是mysite.com/wp-admin,我使用的是 wordpress 3.5.1。这是可能的,不是吗?我在服务器方面一点也不擅长;所以请帮忙;

谢谢。

4

2 回答 2

3

我不确定您为什么在浏览器上收到“页面未正确重定向”/dashboard错误,但如果该目录实际上不存在,这些请求将通过 index.php(wordpress)进行路由。您应该尝试交换规则的顺序,以便重定向发生路由之前:

RewriteBase /
RewriteCond %{THE_REQUEST} ^GET\ /wp-admin/
RewriteRule ^wp-admin/(.*)$ dashboard/$1 [R,L]
RewriteRule ^dashboard(.*)$ wp-admin$1

# 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

这样,当您请求时http://mysite.com/dashboard,将应用第二条规则而不是RewriteRule . /index.php规则。

于 2013-04-06T09:23:22.717 回答
0

这可能是您的页面未正确重定向的原因:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

尝试.htaccess使用以下指令更改您的整体:

# BEGIN WordPress
<IfModule mod_rewrite.c> 
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
#Where the
#suspected
#code located
</IfModule>

# END WordPress

#HERE
RewriteRule ^wp-admin/?$ /dashboard [R,L]
RewriteRule ^wp-admin/(.*)/?$ /dashboard/$1 [R,L]
RewriteRule ^dashboard/?$ /wp-admin
RewriteRule ^dashboard/(.*)$ /wp-admin/$1

如果它不起作用,请尝试使用 更改#HERE评论RewriteEngine on

于 2013-04-06T12:33:07.650 回答