mod_rewrite後にフォルダーが見つかりません

オニール

私は次のプロジェクト構造を持っています:

ビューのあるプロジェクト構造

すべてのHTMLファイルを含む「views」というフォルダがあります。

問題は今、である。このような私のURLルックス:http://example.com/views/indexのhttp://example.com/views/account ..

URLの一部を削除するにmod_rewriteどうすればよいですか?.htaccessviews

誰かがhttp://example.comにアクセスすると、実際にはファイルhttp://example.com/views/index.phpが表示されるようにしたいと思います

私はこれに非常に近づいています:

RewriteCond %{REQUEST_URI} !^/(views)
RewriteRule (.*) /views/$1

しかし、問題は、他のすべてのフォルダがもう見つからないことです。フォルダからの私のCSSはcssまた私、見つからないmediaファイルが発見されていない、ともない、私のPHP。

編集:これは私の新しい.htaccessです:

# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]

# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /$1.php

RewriteRule ^(css|js|media|partials|php)($|/) - [L]

RewriteCond %{REQUEST_URI} !^/(views)
RewriteRule (.*) /views/$1

とても近づきます。下から3行目で、rewrite_ruleのすべてのフォルダーを除外することができ、メディア、css、js、...が読み込まれました。しかし、問題は、その行が上記のrewrite_ruleも削除することです。

フォルダphpには、、、...のようなファイルがありますがexample.phptest.php拡張子なしで参照しています。しかし、下から3番目のルールはすべてのrewrite_rulesを無視するため、これは機能しなくなりました。したがって、PHP拡張機能を削除するルールもあります。

では、特定のrewrite_ruleのみのフォルダーを除外するにはどうすればよいですか?

Edit2:解決しました。

正解.htaccess

RewriteEngine On

# browser requests PHP
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^\ ]+)\.php
RewriteRule ^/?(.*)\.php$ /$1 [L,R=301]

# check to see if the request is for a PHP file:
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^/?(.*)$ /$1.php



RewriteCond %{REQUEST_URI} !^/(views|css|js|media|partials|php)
RewriteRule (.*) /views/$1

コンラッドボター

あなたの現在のルールでは、接頭辞を追加/viewsで始まるものも含め、すべてのURLに/css/js/mediaというように。それらを除外する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Springに画像が見つかりません-リソースフォルダが見つかりません

分類Dev

jUnitがandroidTestフォルダーに見つかりませんが、testフォルダーにあります

分類Dev

Libary / Ethereumフォルダーにファイルが見つかりません

分類Dev

アプリの公開後にフォルダーが見つかりません

分類Dev

ejabberd / srcフォルダーが見つかりません-Ubuntu

分類Dev

ホームフォルダが見つかりません

分類Dev

nugetフォルダーが見つかりません

分類Dev

共有フォルダーにVisualStudio Universal AppResourceが見つかりません

分類Dev

特定のフォルダーにResourceDictionaryが見つかりません

分類Dev

Python3.7.2フォルダーが/ Library / Pythonに見つかりません

分類Dev

リソースフォルダにlogback.xmlが見つかりません

分類Dev

/etc/init.d フォルダーに mysql が見つかりません

分類Dev

Composerを使用してインストールした後、laravelroutesフォルダーが見つかりません

分類Dev

インストール後にGRUBnormal.modが見つかりません

分類Dev

/ tmp /フォルダーにダウンロードされたファイルが見つかりません

分類Dev

「easy_installpywin32」の後にwin32フォルダが見つかりません

分類Dev

Pythonモジュールが見つかりませんが、フォルダーに存在します

分類Dev

vscodeのフォルダーベンダーにパッケージが見つかりません-Golang

分類Dev

Juliaのbinフォルダーが見つかりませんか?

分類Dev

Ubuntu 14.04で.configフォルダーが見つかりませんか?

分類Dev

UbuntuにMySQL、PHP、Apache 2を正常にインストールした後、「/ opt / lampp」にhtdocsフォルダーが見つかりません

分類Dev

.sencha フォルダが見つかりません

分類Dev

Cordovaとのマージフォルダーが見つかりません

分類Dev

Androidアノテーションの後に生成フォルダーを使用して、AndroidManifest.xmlファイルが見つかりませんでした

分類Dev

Githubフォルダーにgit.exeファイルが見つかりません

分類Dev

docker secrets 'フォルダー(' / run / secrets ')が見つかりません

分類Dev

CMAKE_INSTALL_PREFIXフォルダーが見つかりません

分類Dev

MVC4「Scripts」フォルダーが見つかりません

分類Dev

AndroidEclipseでSDKフォルダーが見つかりませんでした

Related 関連記事

  1. 1

    Springに画像が見つかりません-リソースフォルダが見つかりません

  2. 2

    jUnitがandroidTestフォルダーに見つかりませんが、testフォルダーにあります

  3. 3

    Libary / Ethereumフォルダーにファイルが見つかりません

  4. 4

    アプリの公開後にフォルダーが見つかりません

  5. 5

    ejabberd / srcフォルダーが見つかりません-Ubuntu

  6. 6

    ホームフォルダが見つかりません

  7. 7

    nugetフォルダーが見つかりません

  8. 8

    共有フォルダーにVisualStudio Universal AppResourceが見つかりません

  9. 9

    特定のフォルダーにResourceDictionaryが見つかりません

  10. 10

    Python3.7.2フォルダーが/ Library / Pythonに見つかりません

  11. 11

    リソースフォルダにlogback.xmlが見つかりません

  12. 12

    /etc/init.d フォルダーに mysql が見つかりません

  13. 13

    Composerを使用してインストールした後、laravelroutesフォルダーが見つかりません

  14. 14

    インストール後にGRUBnormal.modが見つかりません

  15. 15

    / tmp /フォルダーにダウンロードされたファイルが見つかりません

  16. 16

    「easy_installpywin32」の後にwin32フォルダが見つかりません

  17. 17

    Pythonモジュールが見つかりませんが、フォルダーに存在します

  18. 18

    vscodeのフォルダーベンダーにパッケージが見つかりません-Golang

  19. 19

    Juliaのbinフォルダーが見つかりませんか?

  20. 20

    Ubuntu 14.04で.configフォルダーが見つかりませんか?

  21. 21

    UbuntuにMySQL、PHP、Apache 2を正常にインストールした後、「/ opt / lampp」にhtdocsフォルダーが見つかりません

  22. 22

    .sencha フォルダが見つかりません

  23. 23

    Cordovaとのマージフォルダーが見つかりません

  24. 24

    Androidアノテーションの後に生成フォルダーを使用して、AndroidManifest.xmlファイルが見つかりませんでした

  25. 25

    Githubフォルダーにgit.exeファイルが見つかりません

  26. 26

    docker secrets 'フォルダー(' / run / secrets ')が見つかりません

  27. 27

    CMAKE_INSTALL_PREFIXフォルダーが見つかりません

  28. 28

    MVC4「Scripts」フォルダーが見つかりません

  29. 29

    AndroidEclipseでSDKフォルダーが見つかりませんでした

ホットタグ

アーカイブ