-1

サイト内の記事とプロフィールのリンクを動的なものに変更する必要があります。すなわち

  • 対象品site.com/article.php?id=12 になりますsite.com/article/this_is_title_of_article
  • プロファイル用:site.com/ref.php?user=23になりますsite.com/john_doe

だから私はこれを書いた.htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ ref.php?user=$1 [QSA,L]
RewriteRule ^articles/(.*)$ article.php?user=$1 [QSA,L]

したがって、プロファイルの場合は機能します。と入力するsite.com/usernameと、機能します。ただし、記事の場合はそうではありません。何も表示されないだけです。

ユーザー名が複数の単語である場合、単語間にアンダースコアが追加されない理由がわかりません。URLに追加しても機能しsite.com/john_doeません。

したがって、ほとんどの場合、上記のコードはユーザー名に対してのみ機能し、そのユーザー名が 1 語のみの場合にのみ機能します。

4

1 に答える 1

0

ルールは上から下に評価されるため、記事のルールがチャンスを得る前に、ユーザーのルールがすべてをキャッチしている可能性があります。

これを試して:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^articles/(.*)$ article.php?user=$1 [QSA,L]
RewriteRule ^(.*)$ ref.php?user=$1 [QSA,L]
于 2012-11-04T06:12:05.297 に答える