1

問題があります。つまり、URL が www.example.com/view.php?id=1 であると仮定しますが、URL が www.example.com/view/id/1 のようになりたい場合、個別に非表示拡張機能の htaccess を取得するか、交換 '?' スラッシュですが、両方が機能していません。誰か助けてください.htaccessが両方で機能することを望みます(拡張子の非表示とスラッシュの置換)。htaccessが特定のページではなく任意のページで機能することを一般的にしてください。

4

1 に答える 1

1

mod_rewrite と .htaccess を有効にしてからhttpd.conf、このコードをディレクトリの.htaccess下に配置します。DOCUMENT_ROOT

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

# external redirect from /view.php?id=1 to /view/id/1
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+([^.]+)\.php\?([^=]+)=([^\s&]+) [NC]
RewriteRule ^ /%1/%2/%3? [L,R=301]

# internal forward from /view/id/1 to /view.php?id=1
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /$1.php?$2=$3 [L,QSA]
于 2012-12-17T18:24:02.957 に答える