2017-05-11 13 views
0

以外の家にすべてのページをリダイレクトします。 this answerthis oneが見つかりましたが、私の要求を満たしていませんでした。htacessは、私は次のコード私のhtaccessファイルを持っているadminディレクトリ

私はpermlinkとしてディレクトリ名を使用しています。たとえば、ユーザがwww.mydomaincom/aboutと入力すると、JavaScriptコードはディレクトリ名を抽出し、データベースと比較してページをポーリングします。アドレスが末尾にスラッシュ(www.mydomaincom/about/)のように書かれている場合にも機能します。しかし、この記法には問題があります。

問題は、ページがAOKであるindex.phpからhtmlデータを読み込もうとしていることです。しかし... <img>, <style>, <script>などのソースが必要な要素、またはソースディレクトリが必要なスタイルのプロパティは、存在するかのようにディレクトリabout/からソースを検索しようとしています。

www.mydomaincom/about/記法をソース属性またはプロパティに影響を与えずにwww.mydomaincom/aboutと同じように動作させるhtaccessソリューションを探しています。

RewriteCond %{REQUEST_URI} !^/admin/ 
RewriteCond %{REQUEST_URI} !/admin 

これらはseeingly同じことを行うが、彼らはいけない:

+1

このことについて奇妙なものは何もありません - これは絶対的なものの_works_に相対URLを解決する方法です。最も簡単な解決策:Webルートに関連するURLを '/'で始めると、現在の文書のURLは何であっても問題ありません。 – CBroe

+0

@CBroe私はそれが簡単だとは信じられません...愚かな私!しかし、正確には愚かではない。先行する '/'がルートディレクトリへの参照を意味することはわかりませんでした。どうもありがとう! – Litestone

答えて

1

あなたは、あなたのコード内であまりにも多くの行を持っています。
最初のものは 秒「それは/adminないスタート(^)をした場合は」「それは文字通りの場合ない/admin

はどちらも、あなたが望むものではありませんんん:

RewriteCond %{REQUEST_URI} !^/admin 

これは「でない場合はで開始します。/admin」です。それは/admin


第二に、奇妙なコンボで始まるので、これはまたこれです、/admin/が含まれています

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_URI} !\.(?:jpe?g|gif|bmp|png|tiff|css|js)$ [NC] 


秒1あなたに「それはないファイルであれば、」1つ目はではない場合 css、js、pngなど
ファイルタイプはファイルなので、最後の行は必要ないので、同じことを2回確認します。


第3に、urlをindex.phpに渡すことができます。 Shortendとのindex.phpに渡すには、次のようになります

RewriteCond %{REQUEST_URI} !^/admin 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /index.php?url=$1 [L] 
+0

Thans a lot。良いexplainations! – Litestone

関連する問題