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 に答える