0

htaccessコードに問題があります。

example.com/user/register/を読み込もうとすると、読み取られるページはprofile.phpです。

example.com/user/registerにアクセスすると、正常に動作し、register.phpを読み取ります。

このhtaccessコードを編集してexample.com/user/register/を使用するにはどうすればよいですか?

RewriteRule ^user/register?$ register.php [L]
RewriteRule ^user/register?$ /user/register/ [R=301,L]

RewriteRule ^user/?$ user.php [L]
RewriteRule ^user?$ /user/ [R=301,L]

RewriteRule ^user/(\d+)/$ profile.php?id=$1 [L]
RewriteRule ^user/(\d+)?$ /user/$1/ [R=301,L]

RewriteRule ^user/([^/]+)/$ profile.php?username=$1 [L]
RewriteRule ^user/([^/]+)?$ /user/$1/ [R=301,L]
4

1 に答える 1

1

/ user /register/または/user/ registerを使用した後ですか?

現在の書き換えの外観から、/ user / registerを書き換えて/register.phpをポイントし、それを/ user / register /にリダイレクトしますが[L]、前のルールのため、リダイレクトは行われません。

/ user / register /を使用する場合は、次のことを試してみることをお勧めします。

RewriteRule ^user/register/$    /register.php [L]
RewriteRule ^user/register$     /user/register/ [R=301,L]

/ user / registerが必要な場合は、次のものが必要です。

RewriteRule ^user/register$     /register.php [L]
RewriteRule ^user/register/$    /user/register [R=301,L]

または、URLの末尾にスラッシュがあるかどうかを気にしない場合は、次のようになります。

RewriteRule ^user/register/?&   /register.php [L]

考慮すべきもう1つのポイントは、どのURLにも末尾のスラッシュを付けたくない場合は、各ページのリダイレクトではなく、.htaccessの先頭に一般的なリダイレクトを使用できることです。

RewriteRule ^(.*)/$    /$1 [R=301,L]
于 2012-04-28T15:57:27.410 に答える