2012-02-22 11 views
2

私は書き直すのが初めてで、独自のURL書き換えルールを作成するために使用できる正規表現を探していました。私は私が直接実際のパスを隠しfoder2をターゲットにしたいmod rewrite apacheを使用した書き換えパス

https://www.mydomain.com/folder2 

https://www.mydomain.com/accout/log/folder1/folder2 

なURLを書き換えする方法を疑問に思いました。偽のパスを作成する方法もありますか?

どの.htaccess書き換えコードを含める必要がありますか?

おかげ

更新

おかげ@ThinkingMonkey、コードが良かったし、それは動作しますが、それは最初はうまくいかなかった理由です欠落しているハンドラがありました。

+0

このサイトでこれを追加することができます。http://txt2re.com/ – dom

答えて

1

confファイルにアクセスできる場合は、folder2のエイリアスを作成できます。

Alias /folder2 /accout/log/folder1/folder2 

そしてaccout/log/folder1/folder2に置か.htaccess

RewriteEngine on 
RewriteBase /folder2 

を行います。
mod_aliasが有効になっていることを覚えておいてください。Aliasは、mod_aliasからの指示に従ってください。

それともあなたがあなたの正規表現を作成するのを助けることができるかもしれあなたの.htaccess

RewriteEngine on 
RewriteBase/

RewriteCond %{ENV:REDIRECT_STATUS} 200 
RewriteRule^- [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(?:\.\w+|/)$ 
RewriteRule (.*) /$1/ [R,L] 

RewriteCond %{REQUEST_URI} ^(/folder2) 
RewriteRule ^(.*)$ /accout/log/folder1/$1 [L] 

RewriteCond %{REQUEST_URI} ^/accout/log/folder1/folder2 
RewriteRule accout/log/folder1/(folder2)(/(.*))?$ $1$2 [R,L] 
+0

おかげ@ThinkingMonkeyを、はい、私はmod_aliasを持っていません私のサーバー上で、あなたが提供したコードを.htaccessファイルに含めることができます。それはとても役に立ちました。再度、感謝します。 –

+0

@Digitalsiteようこそ。 – ThinkingMonkey

+0

私はそれを試しましたが、うまくいきませんでした。おそらく私は何かが不足しているか、コードに何か問題があります。再度確認してください。ありがとう –