同样的问题:Use htaccess to mask folder name
但答案不起作用。我的.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。这是可能的,不是吗?我在服务器方面并不擅长;所以请帮忙;
感谢。
答案 0 :(得分:4)
我不确定您为什么在浏览器上收到页面未正确重定向错误,但如果/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
规则。
答案 1 :(得分: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
。