2016-07-26 66 views
1

让我们觉得我的htaccess有这样的代码:定义变量目录,并使用它

RewriteRule ^admin/registration/?$ admin/qeyd.php [NC,L] 
RewriteRule ^admin/login/?$ admin/login.php [NC,L] 
RewriteRule ^admin/profile/?$ admin/profile.php [NC,L] 

但我想定义一个变量为“管理员”,并把它写这样的: admin_directory_variable = CUSTOM_NAME

RewriteRule ^custom_name/registration/?$ admin/qeyd.php [NC,L] 
RewriteRule ^custom_name/login/?$ admin/login.php [NC,L] 
RewriteRule ^custom_name/profile/?$ admin/profile.php [NC,L] 

我该怎么办?

+0

变量可以通过多种方式来使用。这里使用变量的用例是什么?你只是想避免多次使用'admin'路径? – anubhava

+0

是的,我想避免多次使用管理路径 –

+0

实际上,您可以通过将全部3条规则放在'admin /'目录中来避免输入'admin /'。 – anubhava

回答

2

创建admin/.htaccess文件,并使用这些规则:

RewriteEngine On 
RewriteBase /admin/ 

RewriteRule ^registration/?$ qeyd.php [NC,L] 
RewriteRule ^(login|profile)/?$ $1.php [NC,L] 
+1

谢谢。这是一个好主意:) –

0

的Apache 2.4具有定义你使用这样关键字:

Define name value 

,并使用这样的:

DocumentRoot ${name} 

不幸的是,它不能在.htaccess文件中使用。见Apache 2.4 documentation