2

次のようなメニュー項目があります。

mysite.com/index.php?option=blog&view=index 

そして、私はそれが次のようになりたい:

blog.mysite.com

それはできますか?

ありがとうございました!

編集:

@Daanルールにより、500内部サーバーエラーが発生します。私は joomla cms を使用しています。デフォルトの htaccess は次のようになります。

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule .* index.php [F]

RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]

私のサイトは有料のホスティング サーバー上にあり、Apache フォルダーやモジュールにアクセスできません。

4

1 に答える 1

2

これを試して:

アップデート

RewriteCond %{QUERY_STRING} ^option=(.+)&view=index$
RewriteRule ^index\.php$ http://%1.mysite.com? [L]

1行ずつ:

  1. 最初の行で () を使用して、option= の後の値をキャプチャします。

  2. URL は index.php で始まる必要があります。%1 は 1 行目のキャプチャされた値を参照し、? 最後に、古いクエリ文字列が追加されていないことを確認し、[L] は残りの
    .htaccesの実行を停止します

詳細については、 http://httpd.apache.org/docs/current/mod/mod_rewrite.htmlを参照してください。

于 2012-11-22T17:46:50.787 に答える