2013-12-13 38 views
2

我有一個htaccess設置,其中已經重寫所有請求index.php。但現在我有一個條件,我想要重寫(我不知道該怎麼辦或選擇哪個)子文件夾/管理到index.php?route = admin/login,是的確切url從特定的子文件夾重寫htaccess

期望

www.domain.com/admin

重寫

www.domain.com/index.php?route=admin/login

RewriteEngine On 

RewriteCond %{REQUEST_URI} !^/install(.*) 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L] 
######################################### 

##I expect the line below will go to the url , but when i enter the subfolder , the page remain at the index 
RewriteRule ^admin/(.*)$ /$1?route=admin/login [R=301,L] 
+0

你在'/ admin /'文件夾中有任何.htaccess嗎? – anubhava

+0

@anubhava是的,我可以有 –

回答

1

試着將這個在/admin/.htaccess

RewriteEngine On 
RewriteBase /admin/ 

RewriteRule ^$ /index.php?route=admin/login [R=301,QSA,L] 
+0

謝謝我只是複製並粘貼你的代碼和它的工作! –

+0

不客氣,很高興它解決了。 – anubhava

0

重寫到管理員登錄從www.domain.com/admin

RewriteRule ^admin$ /index.php?route=admin/login [R=301,L] 

重寫其它的請求,例如:

www.domain.com/admin/list_users

www.domain.com/admin/send_mail

RewriteRule ^admin/(.*)$ /index.php?route=admin/$1 [R=301,L] 

UPD。

RewriteEngine On 

RewriteCond %{REQUEST_URI} !^/install(.*) 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /index.php [L] 
######################################### 

##I expect the line below will go to the url , but when i enter the subfolder , the page remain at the index 
#RewriteRule ^admin/(.*)$ /$1?route=admin/login [R=301,L] 

,並從PHP文件,而不是$ _GET [ '路線']使用$ _ SERVER [ 'REQUEST_URI']

或UPD domain.com/admin/login

RewriteEngine On 
RewriteRule ^admin/(.*)$ /index.php?route=admin/$1 [R=301,L] 

RewriteCond %{REQUEST_URI} !^/install(.*) 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /index.php [L] 
######################################### 
+0

它不工作 –

+0

你有RewriteRule。 index.php [L]/ –

+0

仔細閱讀我的問題 –