3

私はこのコードを手に入れました:

    RewriteEngine On
    RewriteRule   ^!(.+)$  user.php?user=$1 [L]

私が入るとそれはうまくいきます

    'www.example.com/![username]'

しかし、私が入るとき

    'www.exaple.com/![username]/'

私のウェブページがディレクトリからすべてのデータ、画像、cssファイル、javascriptをロードしたいよりも:

    '/![username]/'

ディレクトリhtaccessの最後のスラッハを無視するにはどうすればよいですか?

4

2 に答える 2

2
 RewriteEngine On
 RewriteRule   ^!(.+)[/]?$  user.php?user=$1 [L]

あなたのためにそれをすべきです。URL の末尾のスラッシュは、[/]?.

編集:

必要なものがわかります。あなたのサイトは CSS、JS、画像などを相対的な場所からロードしています。そのため、URL 内のフォルダーをシミュレートする rewriterule を使用している場合、リソースは適切に読み込まれません。この場合、次のように、間違った URL (末尾にスラッシュがある) を正しい URL にリダイレクトする必要があります。

 RewriteEngine On
 RewriteRule   ^!([^/]*)/$  /!$1 [R=301,L]
 RewriteRule   ^!(.+)$  user.php?user=$1 [L]

...テストされていません。

于 2012-04-17T07:42:16.833 に答える
0

「rtrim」を使用して、php の末尾の / を削除できます。

http://php.net/manual/en/function.rtrim.php

于 2012-04-17T07:35:59.780 に答える