web-dev-qa-db-ja.com

ユーザープロファイルページのクリーンURLのhtaccessコードとは何ですか?

トピック 。htaccessを使用したURLのクリーンアップ で指定されたコードを試しましたが、私のWebサイトでは機能していません。

実際には静的コンテンツを取得していますが、パラメーター(動的コンテンツ)を取得していません。私の.htaccessコードは

Options +FollowSymlinks
RewriteEngine on

RewriteRule ^user/([^/]+) /user.php?u=$1

私のPHPファイル(user.php):

<?php 
echo "ABC";
echo $_GET['u'];

?>

私のURLは次のとおりです。

example.com/simran/user/jack

(静的コンテンツを取得しますが、パラメーターは取得しません)

1
user3464104

最も簡単な方法は、変更することです:

RewriteRule ^user/([^/]+) /user.php?u=$1

に:

RewriteRule ^simran/user/([^/]+) /user.php?u=$1 [L]

または、より柔軟に使用することができます:

RewriteRule ^(.*)/user/([^/]+) /user.php?u=$2 [L]

これでこれらのURLが機能するはずです

example.com/any1user/user/jack
example.com/simran/user/jack
example.com/user/jack

$ 1は/ userの前のコンテンツを指し、/ userの後のコンテンツに興味があるため、$ 1を$ 2に変更しました。 。*は、なしおよび句読点を含むすべてを意味します。

いずれの場合も、ルールの処理後にリスト内のそれ以上のルールを処理しないことを意味するため、角括弧内にLをルールに付けることを常にお勧めします。

1
Mike