重定向管理员/ ???到admin.php / ???与.htaccess

时间:2012-07-28 17:12:25

标签: php .htaccess url mod-rewrite rewrite

此处是我的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=*

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

由于

2 个答案:

答案 0 :(得分:1)

类似的东西:

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

会做的伎俩。

这很快就完成了,它没有经过测试,但它给了你一个想法。你把它放在上面:

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

编辑:因为我刚刚意识到这是无用的,所以已经完成了重写

编辑:添加了查询字符串,因为您实际上正在转换_GET。

答案 1 :(得分:0)

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

Options FollowSymLinks MultiViews

然后,重启apache。它应该指向admin.php。

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

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