私は現在これを達成しようとしています:
pageurl/profile/username
の代わりに
pageurl/profile/?username=username
どうすればこれを正しい方法で行うことができますか?私は長い間グーグルで正しい方法を見つけてきましたが、これを使いたい方法で編集しようとすると、何も機能しません。
ありがとう!
ユーザー名が文字列「username」ではなくユーザー名であると仮定します-pageurl
定型文のように見えるので、パーツを削除しました。
RewriteEngine On
RewriteRule ^profile/([^/]+)/?$ /profile/?username=$1 [L]
これは、ドキュメントルートの.htaccessファイル内(サブフォルダー内ではない)<VirtualHost>
用です。たとえば、httpd-vhosts.confのに追加する場合、ルールはわずかに異なります。
/profile
ただし、実際にはと呼ばれるディレクトリがあるため、無限/profile
に/profile
リダイレクトするようにリダイレクトするターミナルループが発生する可能性があります/profile
。
これを回避するには、ファイルやディレクトリの条件文を作成する必要はありません。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^profile/([^/]+)/?$ /profile/?username=$1 [L]
これにより、リクエストはファイルでもディレクトリでもないため、のようなURLが/profile/index.php
リダイレクトさ/profiles/?username=index.php
れるのを防ぐことができます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加