2013-04-06 59 views
2

同一問題:Use htaccess to mask folder name使用htaccess來掩蓋wp-admin文件夾

但是答案不起作用。我.htaccess文件curently樣子:

# 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

'/ dashboard /'是一個真實的目錄嗎? – 2013-04-06 09:17:12

+0

@JonLin不,它不是。我只想替換網址顯示。 – egig 2013-04-06 09:18:18

+7

這個問題究竟如何?它不僅對WordPress有所倚重,它還是我想象中的很多人想要做的事情。 – Kieran 2013-04-06 15:14:36

回答

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規則。

0

這可能是爲什麼你的網頁沒有正確重定向的原因:改變你的整個.htaccess這個指令

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

嘗試:

# 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 

如果它不工作,然後嘗試用RewriteEngine on更改註釋#HERE