0

mysite.com/48YSWD96 のようなページへのリンクがあるとします。mysite.com/?d=48YSWD96 のようにする必要があります。どうすればこれを達成できますか? htaccess ファイルを変更することでこれを実現できますか? 現在、このように見えます...

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
RewriteBase /
4

1 に答える 1

0

これを最後に追加するだけでよいようです:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([A-Za-z0-9]+)$ /?id=$1 [L]

逆に動作させるには:

RewriteCond %{QUERY_STRING} (^|&)id=([A-Za-z0-9]+)($|&)
RewriteRule ^$ /%1 [L]

これは のリクエストを受け取りmysite.com/?d=48YSWD96、URI を に変更し/48YSWD96ます。基本的に、クエリ文字列でidが等しいものは何でも。

于 2011-12-10T05:12:10.970 に答える