2017-11-20 9 views
0

リダイレクトの.htaccess.htaccessのクエリ文字列と私が持っている

RewriteEngine On 

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTPS} off 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png)$ 
RewriteRule ^(.*)$ index.php?v=$1 [NC,L,QSA] 

ErrorDocument 404 /src/html/404.php 

そして中

のindex.php私は「 V」変数を取得し、ページがデータベースに存在するかどうかを確認。

ページが存在する場合は、そのページのコンテンツを含めます。ページが存在しない場合は、404エラーページを含めます。

example.com:

は、それが自動的にリダイレクトされます

example.com/src:

すべては私のような既存のディレクトリにアクセスしようとする場合を除き、問題なく動作します/ src /?v = src

エラーページを表示

しかし、私はしてみてください:(URLの末尾に '/' が)

example.com/src/

それはURLを維持し、エラーページが表示されます!

ここで、URLの末尾に '/'がない場合、同じ結果を得る方法を知りたいですか?

答えて

0

に存在されていない私は、トリッキーな解決策を見つけたが、それは良いアイデアだかどうかは知りません!

私は私のの.htaccessファイルを編集して、コメントを追加:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^.*[^/]$ /$0/ [L,R=301] 

それはURLの末尾(それは問題ではないのですが、変化に「/」を追加します除きこれは、正常に動作します私が好きではないURL)

0

URLをチェックするための2行を追加しますが、実際にファイルやフォルダ

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !(\.css|\.js|\.png)$ 
RewriteRule ^(.*)$ index.php?v=$1 [NC,L,QSA] 
+0

これは最悪になります!それはディレクトリを一覧表示します! – Soheyl

関連する問題