0

サブドメインが URL (またはその「www」) にない場合、サブドメインとしてアンダースコアを強制しようとしています。私は昨日、これを理解しようとしてぐるぐる回りました。これが私がこれまでに持っているものです:-

ルール#1。ファイル拡張子の削除 - ルール 2 を .htaccess に追加するまでは機能します。

Options -Multiviews
RewriteBase /
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]

ルール #2 サブドメインが存在しない場合は、自動的に _ を使用します。例: _.mysite.com

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteRule ^(.*)$ http://_.%{HTTP_HOST}/$1 [L,R=301]

ルール 2 は機能しますが、ファイル名の末尾に .php を追加し直していますか?

「_」ルールを拡張ルールの上に移動しようとしましたが、違いはありません。

どんな助けにも大いに役立ちます=)

4

1 に答える 1

0

2 番目のルールで「.php」拡張子を削除するには、オプションのパラメーターとして「.php」を追加する必要があります。

RewriteRule ^(.*)(\.php)|(.*)$ http://_.%{HTTP_HOST}/$1$3 [L,R=301]

このように、URI に ".php" があるかどうかに関係なく、リクエストは常に ".php" 拡張子なしでリダイレクトされます。

于 2013-10-30T12:09:07.333 に答える