0

書き換えルールを使用して、URL#1を使用してURL#2をマスクしてアクセスしようとしています

URL#1 http://www.domain.com/user/username/send
URL#2 http://www.domain.com/user.php?user=username&action=send

URL#1 http://www.domain.com/user/username/receive
URL#2 http://www.domain.com/user.php?user=username&action=receive

変数はusernameとsend/receiveの2つだけです

4

2 に答える 2

1

最初に行う必要があるのは、コンテンツ内のすべてのリンクを、ユーザーアクションのクエリ文字列を含むものから、見栄えの良い URL を持つもの (例: http://www.domain.com/user/username/send) に変更することです。http://www.domain.com/次に、これをドキュメント ルート (Webroot が指す場所)の htaccess ファイルに追加する必要があります。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?user/([^/]+)/([^/]+)/?$ /user.php?user=$1&action=$2 [L,QSA]

サイト外 (Google など) にリンクがあり、クエリ文字列を含む URL を指している可能性があります。その場合は、外部からの 301 リダイレクト リクエストをクリーンな URL にリダイレクトする必要があります。

RewriteCond %{THE_REQUEST} ^(GET|HEAD|POST)\ /user\.php\?user=([^&]+)&action=([^&\ ]+)
RewriteRule ^ /user/%2/%3? [L,R=301]
于 2012-10-29T03:23:43.740 に答える
1

このルールを試してください:

RewriteEngine On
RewriteRule ^user\/([a-zA-Z0-9_-])\/([a-zA-Z])$ http://www.domain.com/user.php?user=$1&action=$2 [L,R=Permanent]
于 2012-10-29T03:35:23.950 に答える