1

これが私が必要なものです。私はURLpearlsquirrel.com/profilecomments.php?u=eggoを持っています。eggoは私のユーザー名であり、変更される動的URLの一部です。.htaccessを使用して、URLをpearlsquirrel.com/eggo/commentsと書き直したいと思います。

これが私がこれまでに持っているものです:

RewriteRule ^(.*)$ $1.php
RewriteRule ^([a-zA-Z0-9_-]+)$ profilecomments.php?u=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ profilecomments.php?u=$1
RewriteCond %{HTTP_HOST} ^www\.pearlsquirrel\.com$ [NC]
RewriteRule ^(.*)$ http://pearlsquirrel.com/$1/comments [L,R=301]

しかし、私はそれを機能させることができません。どんな助けでも大歓迎です。ありがとう!

4

2 に答える 2

1
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/comments$ profilecomments.php?u=$1 [L]

ノート

画像やスタイルシートなどに相対パスを使用している場合、サイトを適切に表示するには、サーバーのルート フォルダーをベースとして使用して絶対パスまたは相対パスに変更する必要があります。

たとえばimages/image.png/eggo/comments/images/image.png

ただし、代わりに前にスラッシュを追加する/images/image.png と、ファイル パスは常にサーバーのルート フォルダーから開始されるため、URL を書き換えてもサイトが混乱することはありません。

于 2012-07-21T16:27:12.310 に答える
0

最初のルールは、残りすべてをオーバーライドします。あなたが説明していること(私が正しく理解していれば)、profilecomments.php?u=user で /user/comments を処理する必要があります

RewriteRule ^([a-zA-Z0-9_-]+)/comments profilecomments.php?u=$1 [L]

これでうまくいくはずです。

于 2012-07-21T16:35:21.287 に答える