htaccessアクセス制限で404が表示される

このQ&Aのポイント
  • 現在、社内資料(画像ファイル)を社内の営業所間で共有する為、サーバーにアルバムシステム(gallery2)を入れて利用しております。最近、同じサーバにワードプレスをインストール位のタイミングで、アルバムシステムにアクセスすると、win機の半数位のPCで404のエラーページが表示され打開する方法を探っています。
  • セキュリティソフトが入っていないPC、ブラウザのセキュリティのレベルを最低に落としても症状の改善はありませんでした。症状のあるPCは、ブラウザ(IE7・8 firefox クローム)・OSに関係なく404になります。数台あるmacでは正常に表示されております。
  • htaccessの中身は、アクセス許可の設定とUrl Rewriteの設定があります。問題が発生しているPCで404エラーが表示される原因を特定するために、試しに.htaccessの中身を変更した際に正常に表示されることがあるという情報があります。
回答を見る
  • ベストアンサー

.htaccessアクセス制限で404が表示される

こんにちは。 【質問】 現在、社内資料(画像ファイル)を社内の営業所間で共有する為、サーバーにアルバムシステム(gallery2)を入れて利用しております。 社外からの閲覧制限をかける為、.htaccessに各営業所のIPアドレスを登録する事で社内でのみ閲覧可能にしています。 最近、同じサーバにワードプレスをインストール位のタイミングで、アルバムシステムにアクセスすると、win機の半数位のPCで404のエラーページが表示され打開する方法を探っています。 【試した事】 尚、試しに.htaccessの中を(allow from 000.000.00→allow from all)にした際正常に表示が戻りました。 セキュリティソフトが入っていないPC、ブラウザのセキュリティのレベルを最低に落としても症状の改善はありませんでした。 【症状が出るPC環境】 症状のあるPCは、ブラウザ(IE7・8 firefox クローム)・OSに関係なく404になります。 数台あるmacでは正常に表示されております。 宜しくお願いします。 ■以下.htaccessの中身です。 #アクセス許可 order deny,allow deny from all allow from 000.000.000.00 allow from 000.000.000.00 allow from 000.000.000.00 allow from 000.000.000.00 allow from 000.000.000.00 allow from 000.000.000.00 # BEGIN Url Rewrite section # (Automatically generated. Do not edit this section) <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /rough2/ RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d [OR] RewriteCond %{REQUEST_FILENAME} gallery\_remote2\.php RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . - [L] RewriteCond %{THE_REQUEST} \ /rough2/v/slideshowapplet.html(\?.|\ .) RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . /rough2/main.php?g2_view=slideshowapplet.SlideshowApplet [QSA,L] RewriteCond %{THE_REQUEST} \ /rough2/v/slideshow.html(\?.|\ .) RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . /rough2/main.php?g2_view=slideshow.Slideshow [QSA,L] RewriteCond %{THE_REQUEST} \ /rough2/admin/(\?.|\ .) RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . /rough2/main.php?g2_view=core.SiteAdmin [QSA,L] RewriteCond %{THE_REQUEST} \ /rough2/v/(\?.|\ .) RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . /rough2/main.php?g2_view=core.ShowItem [QSA,L] RewriteCond %{THE_REQUEST} \ /rough2/c/view/([0-9]+).html(\?.|\ .) RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . /rough2/main.php?g2_view=core.ItemAdmin&g2_subView=comment.ShowComments&g2_itemId=%1 [QSA,L] RewriteCond %{THE_REQUEST} \ /rough2/c/add/([0-9]+).html(\?.|\ .) RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . /rough2/main.php?g2_view=core.ItemAdmin&g2_subView=comment.AddComment&g2_itemId=%1 [QSA,L] RewriteCond %{THE_REQUEST} \ /rough2/v/([^?]+)/slideshowapplet.html(\?.|\ .) RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . /rough2/main.php?g2_view=slideshowapplet.SlideshowApplet&g2_path=%1 [QSA,L] RewriteCond %{THE_REQUEST} \ /rough2/d/([0-9]+)-([0-9]+)/([^\/]+)(\?.|\ .) RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . /rough2/main.php?g2_view=core.DownloadItem&g2_itemId=%1&g2_serialNumber=%2 [QSA,L] RewriteCond %{THE_REQUEST} \ /rough2/v/([^?]+)/slideshow.html(\?.|\ .) RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . /rough2/main.php?g2_view=slideshow.Slideshow&g2_path=%1 [QSA,L] RewriteCond %{THE_REQUEST} \ /rough2/v/([^?]+)(\?.|\ .) RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . /rough2/main.php?g2_view=core.ShowItem&g2_path=%1 [QSA,L] RewriteCond %{THE_REQUEST} \ /rough2/([^?]+)(\?.|\ .) RewriteCond %{REQUEST_FILENAME} !main\.php RewriteRule . /rough2/main.php?g2_controller=migrate.Redirect&g2_path=%1 [QSA,L] </IfModule> # END Url Rewrite section

質問者が選んだベストアンサー

  • ベストアンサー
  • EF_510
  • ベストアンサー率50% (306/604)
回答No.1

まず、アクセスログ(この場合はエラーログ)を確認してください。 mod_rewriteのルールが変更されていませんか? WordPressで変更する場合があります。

matsuch
質問者

お礼

ありがとうございました。 エラーログを確認してIPを割出して設定しました。

関連するQ&A

  • .htaccessの設定について

    .htaccessの設定について以下のように記述しましたが、 404のページに飛んでしまいます。 REQUEST_FILENAMEが見つからないときは、index.phpに飛んでくれる設定ではないのですか? それとも、REQUEST_FILENAMEに直接フルパスをhtt;//xxx.net/という風に指定してくれるものなのでしょうか? よろしくお願いします。 <記述したコード> AddType x-mapp-php5 .php AddHandler x-mapp-php5 .php RewriteEngine on Options +FollowSymlinks RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L] ErrorDocument 404 /page-unavailable/ <files ~ "\.tpl$"> order deny,allow allow from none deny from all </files>

  • Zend Frameworkの.htaccessが分からない

    ので教えてください。 .htaccess: SetEnv APPLICATION_ENV development RewriteEngine On RewriteBase /zend23/kubo/public RewriteCond %{REQUEST_FILENAME} -s [OR] #(1) RewriteCond %{REQUEST_FILENAME} -l [OR] #(2) RewriteCond %{REQUEST_FILENAME} -d #(3) RewriteRule ^.*$ - [NC,L] #(4) RewriteRule ^.*$ index.php [NC,L] #(5) において (1),(2),(3)はどういう意味でしょうか? また (4),(5)においてRewriteRuleは(5)だけだとまずいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP
  • cakephpで特定ファイル表示(htaccess

    CakePHPではURLを一度index.phpにリダイレクトするような作りになっていますが、Googleの検索エンジン用のsitemap.xmlファイルを公開ディレクトリに置いた場合、そのファイルだけはmod_rewriteのルールから外して、普通にブラウザで見れる状態にしたいです。 .htaccessをどのように設定すれば良いか、教えてください。 なお、CakePHPのindex.phpファイルと.htaccess、sitemap.xmlは同じディレクトリに置いてあります。 [環境]CakePHP 1.3 PHP5.3 現在は.htaccessは以下のように設定されています。 <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] </IfModule> 上記の RewriteRule ^(.*)$ index.php?url=$1 [QSA,L] の前の行に RewriteCond %{REQUEST_FILENAME} ^sitemap.xml を入れるとこのファイル自体はブラウザから見れるようになりますが、サイトのトップページ以外を見ようとすると、「Not Found」が返ってきてしまいます。

    • ベストアンサー
    • PHP
  • htaccess mod_rewriteのドット

    ワードプレスをインストールし.htaccessをのぞいてみると以下のようにあります。 RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] 一番下のRewriteRuleは%{REQUEST_FILENAME}がルートディレクトリ直下にあるファイルやディレクトリでなければ、RewriteRule . /index.php [L]を実行するという理解でいいでしょうか? それとRewriteRule . /index.php [L]のドットはどういう意味でしょうか? ドットは一文字ということだとおもいますが、では、mysite.co.jp/kはmysite.co.jp/indx.phpに修正される?ということでしょうか?現状では、mysite.co,jp以下に適当な文字列を入力してmysite.co.jp/dgfdhgfghfdhなどとしてもそのURLのままサイトが表示されてしまいます。記事の部分は404NotFoundなのですが。。 情報はあるのですが、調べても混乱してしまうのでご存知でしたらよろしくお願いいたします。 Apache wordpress

    • 締切済み
    • PHP
  • .htaccessのRewriteRuleエラー

    PHPのフレームワークを使って、サイトを作成しているのですが、 .htaccessの設定でつまずいております。 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php 上記のコードはフレームワークを使う時の お決まりのようなコードなのだと思うのですが、 これはコピペして問題無く動作しております。 ※このコードは下記ページのものをコピペしました。 http://www.yiiframework.com/doc/guide/1.1/ja/topics.url#sec-7 しかし、この既存の.htaccessファイルに下記の通り、 www無しのアクセスをwww有りのurlに転送させるための コードを追加すると、サイト内のリンクが切れてしまいます。 RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} ^mydomain.com //これを追加した RewriteRule ^(.*)$ http://www.mydomain.com/$1 [R=301,L] //これを追加した RewriteRule . index.php 記述方法が誤っているのだと思うのですが、どのように記述すれば、 正常に動くのでしょうか?

    • ベストアンサー
    • PHP
  • httpからhttpsへのリダイレクト方法

    すいません、よくわかりませんので教えて下さい。.htaccessに記述してhttpにアクセス来たものをhttpsへリダイレクトしたいです。 今の状況は下記です。 AddHandler application/x-httpd-php53 .php RewriteEngine On # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(sanetsu.com) RewriteCond %{REQUEST_URI} !^/(sanetsu.com)/ RewriteRule ^(.*)$ http://www.sanetsu.com/$1 [L] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(www.burikama.com) RewriteCond %{REQUEST_URI} !^/(www.burikama.com)/ RewriteRule ^(.*)$ /%{HTTP_HOST}/$1/ [L] # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} ^(burikama.com) RewriteCond %{REQUEST_URI} !^/(burikama.com)/ RewriteRule ^(.*)$ http://www.burikama.com/$1 [L] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress すいません、上記の記述をどのように変更したらhttpsへリダイレクトさせることができますでしょうか?前任のweb担当の方と連絡が付かないので教えていただけたらありがたいです。 宜しくお願い致します。

    • ベストアンサー
    • HTML
  • .htaccessのRewriteEngineの設定について

    フォルダ構成は以下のとおりです。 C:\xampp\htdocs\test\app test ┬.htaccess   └app┬index.php        http://localhost/test/page-unavailable/とブラウザのアドレスに 表示されると思ったのですが、うまくいきません。 表示された画面は添付ファイルのとおりです。 そこで、添付ファイルの画面のとおりに表示されるのは、通常は このましくないので、http.confに次のように書き換えました。 Options Indexes FollowSymLinks の行を、 Options -Indexes FollowSymLinks に変更してApacheを再起動すると、 Error 403が表示されました。 .htaccessの中身はいかのとおりです。 ご教授よろしくおねがいします。 # AddType x-mapp-php5 .php # AddHandler x-mapp-php5 .php RewriteEngine on Options +FollowSymlinks RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L] ErrorDocument 404 /page-unavailable/ <files ~ "\.tpl$"> order deny,allow allow from none deny from all </files>

    • 締切済み
    • PHP
  • mod_rewriteの書き方に困っています。

    http://www.○○○.com/1/2/3.htmlといった静的なリクエストを、 .htaccessを使って動的リクエストに読み替えています。 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)\.html$ index.php?a=$1&%{QUERY_STRING}[L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)/([^/]*)\.html$ index.php?a=$1&b=$2&%{QUERY_STRING}[L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)/([^/]*)/([^/]*)\.html$ index.php?a=$1&b=$2&c=$3&%{QUERY_STRING}[L] 違うのはディレクトリの階層(=引数の数)で、最大でa~eまで5つです。 ご覧のとおり、引数がいくつの場合でも、条件は同じなのです。 もっとスマートに書く方法があると思い、あれこれ試していますが、 自力ではうまくいかず、この形で運用しています。 技術向上のため、簡潔な書き方があれば知りたいです。 お気づきの書き方をご教示下さい。よろしくお願いします。 なお、php等を使ったスクリプトでの解析の提案ではなく、 .htaccessの記述方法としてのアドバイスをお願いします。

  • htaccessが作動しません

    初心者です。よろしくお願いします。 さくらのレンタルサーバーを利用しているのですが.htaccessをアップロードしても反映してくれません。 今、http://oshiete1.sakura.ne.jp/aaa.php?usr_no=1&log_no=11 のように最後がphpなどで終わっているものを~htmlで終わらせるようにしたいのですが上手くいきません。 ちなみにどこかのサイトを参考にして、.htaccessファイル以下を記述しアップしてみました。 DirectoryIndex mod_rewrite.php RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([0-9A-Za-z]+)/([0-9A-Za-z)]+)\.html$ mod_rewrite.php?var1=$1&var2=$2 [L] しかし何も起こりませんでした。 よろしくお願いします。

    • 締切済み
    • PHP
  • htaccess wwwがあるのとないので同じページを表示させることはできますか?

    現在●●.comと■■.comの2つのアドレスを使用していて、 ■■.comをマルチドメインにするため下記をhtaccessに記載しています。 www. ■■.comを追加子ドメインにして ■■.comと同じページを見られるようにするにはどうすればよいでしょうか? # Enable RewriteEngine. RewriteEngine On # Main RewriteRule for multidomain. RewriteCond %{HTTP_HOST} (■■.com) RewriteCond %{REQUEST_URI} !^/(■■.com)/ RewriteRule ^(.*)$ /%{HTTP_HOST}/$1/ [L]

    • ベストアンサー
    • HTML