2012-02-27 28 views
1

これは少しばかり聞こえるかもしれませんが、それを解決する方法は他にありません。スラッシュ/に問題があります。私はそれがURLからそれを削除したいのですが、それは信頼できるURLまたは信頼できないURLを与えるブラウザにいくらか混乱させているからです。この書き直したURLからフォワードスラッシュを削除する

これは、メインドメインのためのコードです:

RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L] 
RewriteCond %{REQUEST_URI} ^/$ 
RewriteRule^/user [R=301,L] 

と、これは上記のコードの出力です:https://www.mydomain.com/user/

が、私はURLはこれにリダイレクトします:

https://www.mydomain.com/user 

また、このURLからスラッシュを削除する:

RewriteCond %{ENV:REDIRECT_STATUS} 200 
RewriteRule^- [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !(?:\.\w+|/)$ 
RewriteRule (.*) /$1/ [R,L] 
RewriteCond %{REQUEST_URI} ^(/end) 
RewriteRule ^(.*)$ /top/right/left/bottom/$1 [L] 
RewriteCond %{REQUEST_URI} ^/top/right/left/bottom 
RewriteRule top/right/left/bottom/(end)(/(./*))?$ $1$2 [R,L] 

、これは上記のコードの出力です:https://www.mydomain.com/end/

が、私はURLはこれにリダイレクトします:

https://www.mydomain.com/end 

最後の質問:私はを記述する必要がない理由www。自分自身でFFやクロムのようなブラウザでリダイレクトが必要なURLになるようにしますか?上記の書き換えルールは、私が書いているよう

すべてのコメントを

+1

:これらのことにより、最後の2つのルールを交換してください。 –

+0

これはスラッシュで、バックスラッシュではありません。 – zmccord

+0

ありがとう@MikeChristensen。あなたが正しいと思います。投稿を編集します。 –

答えて

1

を削除するrtrimを実行しているが見えます。だから、これにより事(RewriteCond %{ENV:REDIRECT_STATUS} 200からRewriteRule top/right/left/bottom/(end)(/(./*))?$ $1$2 [R,L]に)全体を交換し/https://www.mydomain.com/end

で終わらないようにURLのためにそれを最適化:

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

RewriteRule ^(end)(?:/(.*))? /top/right/left/bottom/$1/$2 [L] 

RewriteRule ^top/right/left/bottom/(end)(/.*)?$ $1$2 [R,L] 

あなたはこのようなスラッシュでアクセスした場合けれども覚えておいてください: https://www.mydomain.com/end/スラッシュは削除されません。

あなたは/を削除する場合:私はそれがスラッシュと呼ばれていますかなり確信して

RewriteRule ^(end)(?:/(.+))? /top/right/left/bottom/$1/$2 [L] 

RewriteRule ^(end)/$ $1 [R,L] 
RewriteRule ^top/right/left/bottom/(end)(/.*)?$ $1$2 [R,L] 
+0

ありがとう@ThinkingMonkey。はい、ルールはあなたによって書かれました:)私はあなたが通過して、この全体についていくつかの重要な点を説明することができてうれしいです。 –

+0

私はそれを試してみて100%働いています...ありがとうございました –

+0

@Digitalsiteようこそ。 – ThinkingMonkey

0

ストア変数にURLを感謝し、末尾のスラッシュ

$redirectURL = rtrim($redirectURL, "/"); 
+0

答えは@sivaです。しかし、私はこれらのものの騒ぎで、数日前にそれを学び始めたばかりです。簡単な例を挙げて、アイデアを得て、それを私の.htaccessに適用しようとすることはできますか?それを理解した –

+0

私たちはチャットルームで議論できますか? –

+0

確かに、どうして! –