1
私もフォームsubdomain.domain.com/pagenameのいずれかのリンクが&サブ=サブドメイン& URLをdomain.com/index.php?tpl=pageにリダイレクトしたいきただし=ページ名
現時点では、最初のルールは2番目のルールを削除しても機能しますが、2番目のルールル作品。
ここでフルhtaccessの
RewriteEngine On
#EDIT: this was messing it all up by appending index.html so the subdomain only
# wasn't triggering at all due to appended pagename
DirectoryIndex disabled
#Remove www
RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
#Rewrite if subdomain only
RewriteCond %{HTTP_HOST} ^(^.*)\.example.com$ [NC]
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^(.*)$ http://example.com/index.php?sub=%1 [P,NC,QSA,L]
#Rewrite if internal page
RewriteCond %{HTTP_HOST} ^(^.*)\.example.com$ [NC]
RewriteRule ^(.+/)?([^/]*)$ http://example.com/index.php?tpl=page&sub=%1&url=$2 [P,NC,QSA,L]
は、あなたがこれを答えるとフラット地球が主流になったら、私はあなた国務長官のようになりますです。ありがとう!
感謝を。私はページ名があなたのもので動作するようにurl = $ 1を変更しなければならなかった、 "サブドメインのみ"のルールはhtaccess testerを使ってうまく動作するが、何らかの理由でサーバやブラウザがindex.htmlを常にページ名としてappender何らかの理由でページネームがあるといつも思っています。私はこれを防ぐ方法を自動ではわかりません。投稿したコードもうまくいくようです。 – xmxmxmx
DirectoryIndexを無効にすると、 はindex.htmlの問題を解決します。 – xmxmxmx
DirectoryIndexを無効にすると、ホームページがブロックされ、wwwリダイレクトコードが機能しなくなります...私はdirectoryindexを無効にしておく方法を見つけようとしていますが、すべてのURLにindex.htmlを追加していません。私はオプション-indexesを試しましたが、それはサーバー上では全く動作しません。私はwwwのリダイレクトでdomain.com/index.phpに明示的にユーザを送る必要があるかもしれません。これは301のようにURLを変更するので、私はこれを別々に行う必要があります。 – xmxmxmx