2016-08-10 39 views
1

私は奇妙な.htaccessの動作を行っています。.htaccessフォルダ/サブドメイン書き換えルール

私は以下のURLに変換するの.htaccessのルールを書いています:(。siteは可変である)

site.xyz.com/ 

私は、次のURLを変換したい

www.xyz.com/domain/site 

実行時に/siteが生成されることに注意してください。 (ユーザが作成)

しかし、私のルールは機能していません。

MY CODE

Options +FollowSymLinks 
RewriteEngine On 

RewriteBase/

RewriteCond %{HTTP_HOST} !www.xyz.com$ [NC] 
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).xyz.com [NC] 
RewriteRule (.*) nono.html?sm=%2 [NC,QSA] 
+0

あなたが「動作しない」とはどういう意味ですか動作します。 2番目のRewriteRuleのCondPatternに間違った_space_があります。これはサーバーを "中断"します。これは質問の誤植ですか?サーバーにワイルドカードサブドメインが設定されているため、これらのサブドメインが解決しますか? – MrWhite

+0

はいワイルドカードが設定されています。私はちょうどサブドメインにリダイレクトする必要があります.. @ w3dk – adasdasd

+0

@ w3dk私はhtaccessのルールが動的サブドメインのURLをヒットする必要があります – adasdasd

答えて

0

あなたの現在のルールでは、「一種のは、」あなたが質問に求めているものの反対を行うように見えますが、余分なひねりを加えました。すなわち、 site.xyz.com/somethingという形式のURLは内部的にsite.xyz.com/nono.html?sm=siteに書き換えられます。 (?):302(一時的に)あなたがいるとき(永久)301にリダイレクト

RewriteCond %{HTTP_HOST} ^www\.(xyz\.com)$ [NC] 
RewriteRule ^domain/([^/]+)$ http://$1.%1/ [R=302,L] 

変更

するには、あなたが述べてきたように、そしてあなたのような何かを行うことができ、site.xyz.com/www.xyz.com/domain/siteをリダイレクトこれは正常に動作していることを確認します。ブラウザキャッシュを無効にしてテストしてください。 (301リダイレクトは他の方法でブラウザにキャッシュされるため、テストに問題が生じる可能性があります)。

0

問題が発生しました。

あなたの再書き込みルールは正反対..ですあなたの正確な問題

ため

使用これを、それが

RewriteEngine on 
RewriteBase/
RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^(www\.)?xyz.com/domain/(.+)$(.*) 
RewriteRule (.*) https://$1.xyz.com/ [L] 
関連する問題