2012-07-28 63 views
1

这里的那一刻我的htaccess文件:重定向管理员/ ???到admin.php/???用的.htaccess

Options +FollowSymLinks 
RewriteEngine On 
RewriteBase /blog/ 

ErrorDocument 404 /blog/404.php 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)\.html$ post.php/$1.html 

RewriteRule ^index$ index.php 
RewriteRule ^archives$ archives.php 
RewriteRule ^about$ about.php 
RewriteRule ^search$ search.php 

RewriteRule ^feed$ feed.php 

目前,如果我去domain.com/blog/*.html,它被重定向(在后台),以domain.com/blog/post.php/*

我想近乎复制这个,但我不确定所有这些正则表达式的东西。

我希望能够还去domain.com/blog/admin/*,并为它(背景)重定向到domain.com/blog/admin.php?p=*

如果你们能帮助我,我真的很感激了!

感谢

回答

1

喜欢的东西:

RewriteRule ^/?admin/(.*)$ admin.php?p=$1&%{QUERY_STRING} [L,NC] 

会做的伎俩。

这是非常迅速地完成,并没有进行测试,但它给你的想法。你这上面放:

RewriteRule ^(.*)\.html$ post.php/$1.html 

编辑:拿出的RewriteCond因为我才意识到这是没用的

编辑:添加查询字符串也因为你实际上是转换_GET现在。

+0

干杯兄弟!我无法为我的生活,找出这一点!这正是我一直在寻找的! :D – thisispiers 2012-07-28 20:59:39

0

添加多视图到你的.htaccess的第一行:

Options FollowSymLinks MultiViews 

然后,重新启动Apache。它应该指向管理员admin.php。

注意:不要在具有相同的名称和不同扩展名的同名目录多个文件。

http://httpd.apache.org/docs/2.2/mod/mod_negotiation.html

+0

如果他在该目录中有一个“admin.html”页面?他不是通过php请求的,因为这样的Apache不知道。 – Sammaye 2012-07-28 17:32:55

+0

他为什么会在同一个目录下有一个admin.php和admin.html文件? – 2012-07-28 17:38:20

+0

PHP后端和视图。逻辑和表达分离,分离不良但仍然分离。 – Sammaye 2012-07-28 17:42:11