2017-02-05 13 views
-1

まず、私はstackoverflowに新しいので、タイトルがより説明的であった場合は申し訳ありません。いくつかの.htaccessの質問

私は検索し、別のソリューションをstackoverflowでここに投稿しましたが、1つではなく、私の特定の問題を解決するようです。すべての

まず、ここでの私の最初の問題は、いくつかのケースで適切にリダイレクトされていないHTTPSということである私の.htaccessファイル

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^website\.io [NC] 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.website.io/$1 [R,L] 

RewriteRule ^hosting/?$ hosting.php [NC,L] 
RewriteRule ^premium/?$ premium.php [NC,L] 
RewriteRule ^register/?$ register.php [NC,L] 
RewriteRule ^auth/?$ login.php [NC,L] 
RewriteRule ^contact/?$ contact.php [NC,L] 
RewriteRule ^auth/forgot?$ forgot.php [NC,L] 
RewriteRule ^about/?$ about.php [NC,L] 
RewriteRule ^auth/activate?$ activate.php [NC,L] 
RewriteRule ^website/new?$ createwebsite.php [NC,L] 
RewriteRule ^profile/edit?$ editprofile.php [NC,L] 
RewriteRule ^auth/logout?$ logout.php [NC,L] 
RewriteRule ^privacy/?$ privacy.php [NC,L] 
RewriteRule ^profile/?$ profile.php [NC,L] 
RewriteRule ^auth/forgot/reset?$ resetPassword.php [NC,L] 
RewriteRule ^tos/?$ tos.php [NC,L] 
RewriteRule ^website/?$ websites.php [NC,L] 
RewriteRule ^website/manage?$ managewebsite.php [NC,L] 
RewriteRule ^website/manage/([A-Za-z0-9-]+)/?$ managewebsite.php?id=$1 [NC,L] 

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC] 
RewriteRule ^(.*)$ https://www.website.io%1 [R,L,NC] 

です。たとえば、アドレスバーに「website [dot] io」と入力すると、目的の結果「[https]://www.website.io」にリダイレクトされます。ただし、「[http]://website.io」または「[http]://www.website.io」または「www.website [dot] io」のいずれかを入力すると、HTTPに残りますそれが欲しい。アドレスバーに入力された方法に関係なく、トラフィックを常にHTTPSにリダイレクトする方法はありますか?

私の2番目の問題は、誰かがそのように入力することを決めた場合に、最後のスラッシュをURLから削除したいということです。例 "[https]://www.site.io/register/"は最後の末尾にスラッシュを付けずに "[https]://www.site.io/register"にリダイレクトする必要があります。

ありがとう、皆さん!

P .:リンクを投稿できないため、一部の「http(s)」を「[http(s)]」に置き換えました。 (UNがテストされ、から:最後のスラッシュの使用を削除するには

答えて

0

Htaccess: add/remove trailing slash from URL

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)/$ /$1 [L,R=301] 

HTTPSを強制するためには、使用します(何私が使用して任意のドメインで動作します)については

RewriteCond %{HTTPS} off 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L,NC,QSA] 

+0

ちょうど同じように、誰かが実際に存在するパスにアクセスしようとすると、私はpersonnalyの予期しない動作を見つけました。十分な:phpClassというフォルダがあり、誰かがexample.com/phpClassにアクセスしようとすると、desディレクトリが存在するが索引がないので、私のコードは403を与えていた。どのように(しばらく)しかし、私はすべての要求に後続のスラッシュを追加することでそれを修正したかわかりません。 –

関連する問題