1

http://abc.com/sub/random.phphttp://abc.com/randomに書き直そうとしています。私が試してみました

RewriteRule ^random$ sub/random.php [QSA,L]

しかし、それは何らかの理由で機能しません。

4

2 に答える 2

1

http://abc.com/sub/random.php「きれいな」URLを非表示にしながら、ブラウザのアドレスバーにリソースを含む「醜い」URLを表示することはあまり意味がありませんhttp://abc.com/random。だから、私はあなたがあなたが尋ねたものの反対を望んでいると思いました。

それが正しければ、これを試すことができます:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} .*/([^/]+)/?$    [NC]
RewriteRule .* sub/%1.php  [L,QSA]

これは静かにマッピングされます:

http://abc.com/random

これに:

http://abc.com/sub/random.php

ここrandomで、は固定文字列ではなく、スクリプトの名前として渡される変数です。

于 2013-01-07T04:17:24.303 に答える
0

これはあなたのために働くはずです。

RewriteCond %{HTTP_HOST} ^abc\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.abc\.com$
RewriteRule ^sub\/random\.php$ "http\:\/\/abc\.com\/random" [R=301,L]
于 2013-01-07T03:59:34.803 に答える