1

这是我目前的 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=*

如果你们能帮助我,我将不胜感激!

谢谢

4

2 回答 2

1

就像是:

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

会成功的。

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

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

编辑:取出 rewritecond 因为我刚刚意识到它没用

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

于 2012-07-28T17:18:44.010 回答
0

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

Options FollowSymLinks MultiViews

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

注意:同一目录下不要有多个同名不同扩展名的文件。

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

于 2012-07-28T17:25:53.133 回答