0

彼ら。.htaccess に 3 つ目の書き換え条件を追加しようとしています。問題は、別のものを追加する方法がわからないことです。したがって、誰かがそれについての優れた詳細なチュートリアルを持っているなら、私は素晴らしいでしょう.

とにかく仕事に戻る。これが私の現在のコードです:

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]


RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ users.php?name=$1 [QSA,L]



ご覧のとおり、上記は .php 拡張子を削除し、存在しないすべてのファイルをユーザーに送信します (IE: website.com/user はユーザーのプロファイル ページに移動します)。

そのため、フォーラム用に 1 つ追加する必要があります。"website.com/Group/Category/Thread"のように書き換えてほしい。

これは可能ですか、それとも期待を下げる必要がありますか? どんな助けでも大歓迎です。ありがとう

4

2 に答える 2

1

うーん、この回答を投稿したことを覚えています:)

とにかく、このような以前のルールの上に新しいルールを作成できます(そして、/Group/Category/Threadあなたが持っているものに置き換えます):

Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /

RewriteRule ^forum/?$ /Group/Category/Thread [L,NC]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ users.php?name=$1 [QSA,L]
于 2013-04-17T05:52:27.857 に答える
0

さらにルールを挿入できます。これらのルールを user.php に対する最終的なキャッチオールの前に一致させたい場合は、それらを最終ルールの前に配置する必要があります。

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.*?)/?$ $1.php [L]

# match forum, forum/group, forum/group/category and forum/group/category/thread urls
RewriteRule ^forum/?$ forum.php?group=$1&category=$2&thread=$3 [L]
RewriteRule ^forum/([^/]+)/?$ forum.php?group=$1 [L]
RewriteRule ^forum/([^/]+)/([^/]+)/?$ forum.php?group=$1&category=$2 [L]
RewriteRule ^forum/([^/]+)/([^/]+)/([^/]+)/?$ forum.php?group=$1&category=$2&thread=$3 [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ users.php?name=$1 [QSA,L]
于 2013-04-17T06:02:43.983 に答える