http://abc.com/sub/random.phpをhttp://abc.com/randomに書き直そうとしています。私が試してみました
RewriteRule ^random$ sub/random.php [QSA,L]
しかし、それは何らかの理由で機能しません。
http://abc.com/sub/random.phpをhttp://abc.com/randomに書き直そうとしています。私が試してみました
RewriteRule ^random$ sub/random.php [QSA,L]
しかし、それは何らかの理由で機能しません。
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
で、は固定文字列ではなく、スクリプトの名前として渡される変数です。
これはあなたのために働くはずです。
RewriteCond %{HTTP_HOST} ^abc\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.abc\.com$
RewriteRule ^sub\/random\.php$ "http\:\/\/abc\.com\/random" [R=301,L]