WordPressが404エラーでオーバーライドするため、WordPress以外のサブディレクトリにアクセスできません
-
-
WordPressルートフォルダーでindex.phpの名前をindex.bakに変更するとどうなりますか?それでもディレクトリにアクセスできませんか?What happens if you rename the index.php to index.bak in the WordPress root folder? Is the directory still not accessible?
- 0
- 2011-06-16
- Horttcore
-
サブフォルダー.htaccessのベースURLを再定義しようとしましたか(値としてこのサブフォルダーを使用)?Have you tried to redefine the base url in your sub-folder .htaccess (with this sub-folder for value) ?
- 0
- 2011-08-05
- Cédric G
-
8 回答
- 投票
-
- 2011-06-17
WordPressをサイトのルートに配置し、外部ディレクトリもサイトのルートにあると想定しています.これが発生している理由は、.htaccessファイルが階層に従うためです.トップレベルの.htaccessファイルにあるディレクティブはすべて下に流れ、その下のすべてのディレクトリに適用されます.
この場合、次のいずれかを実行できます.
-
WordPressを独自のディレクトリに移動します. 参照: http://codex.wordpress.org/Moving_WordPress WordPressを独自のディレクトリに移動して、サーバーディレクトリ階層内で他のディレクトリと同じレベルになるようにした場合、WordPressの書き換えルールは他のディレクトリに影響を与えません.
-
RewriteEngineOff-これは通常は機能します.動作しない場合は、ワイルドカードDNS設定を使用していないことを確認してください. DNS設定でWebサーバーを指すワイルドカード*ホスト名レコードがある場合、.htaccessとサブドメインで大混乱を引き起こす可能性があります.
-
サイトルートの.htaccessファイルで、WordPressの.htaccessディレクティブの上に次を追加します.
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.*)$ [OR] RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.*)$ [OR] RewriteRule ^.*$ - [L] </IfModule>
これらのいずれかが機能するはずです.
I'm assuming that you put WordPress in your site root and the external directories are also in your site root. The reason this is happening is that .htaccess files follow a hierarchy. Whatever directives are in the top-level .htaccess file flow down and apply to all directories below it.
If this is the case, you can do one of several things:
Move your WordPress into its own directory. See: http://codex.wordpress.org/Moving_WordPress If you move WordPress into its own directory so that it is on the same level in your server directory hierarchy as the other directories the WordPress rewrite rules cannot affect the other directories.
RewriteEngine Off - this would normally work. If it isn't working check that you are not using a wildcard DNS setting. If you have a wildcard * hostname record pointing at your web server in your DNS settings it can cause havoc with .htaccess and subdomains.
In the .htaccess file in your site root, add the following ABOVE the WordPress .htaccess directives:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.*)$ [OR] RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.*)$ [OR] RewriteRule ^.*$ - [L] </IfModule>
One of these should work for you.
-
-
ありがとう!私はたくさんのことを試しましたが、これが私の場合に機能した唯一の解決策です:パスワードで保護されたサブディレクトリThanks! I've tried so many things, but this is the only solution that worked for my case: password-protected subdirectory
- 3
- 2013-03-06
- Rado
-
私のためにも働いた、それが何をするのか、そしてなぜそれが働くのかについての説明はありますか?Worked for me too, any explanation as to what it does and why it works?
- 2
- 2013-08-10
- Asaf
-
これは私にとってはうまくいきます..ワードプレスではなくOpenCartを使用していて、同じ問題があります.説明は本当に役に立ちます.This works for me.. not using wordpress but OpenCart and having the same problem. An explanation would be really helpful.
- 0
- 2014-08-28
- billynoah
-
-
- 2012-05-25
このスレッドは数か月前のものだと思いますが、万が一、機能しなかった場合に備えて!
同様の問題がありましたが、私の問題は、ワードプレスのインストールがサブディレクトリにあり、ルート内(WPインストールディレクトリ外)のフォルダへのURLアクセスを妨げていましたが、パーマリンクが有効になっている場合のみでした.これを解決するために、WPインストールが配置されているサブディレクトリからindex.phpと.htaccess(コピーは移動しない)の両方をコピーし、両方をルートpublic_html(またはWPインストールの外部でアクセスしようとしているサブディレクトリ)に配置しました.ディレクトリ). .htaccessファイルにはすでにパーマリンクの書き換え条件があります:
RewriteEngine On RewriteBase /subdirectoryinstallfolder/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
更新のためにパーマリンクを有効にすると、すべての問題が解決しました.過去に問題が発生したため、ルートフォルダの権限も正しく設定されていることを確認してください.
I see this thread is a few months old, but just in case you never got it to work!
I had a similar issue, but my problem was that the wordpress install was located in the subdirectory which prevented URL access to folders within the root (outside the WP install directory), but only when permalinks were enabled. To solve this, I copied both index.php and .htaccess (copy not move) from the subdirectory where the WP install is located and placed them both in the root public_html (or whatever subdirectory that you're trying to access outside the WP install directory). The .htaccess file has the rewrite conditions for permalinks already:
RewriteEngine On RewriteBase /subdirectoryinstallfolder/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
Enable permalinks for refresh and it solved all issues. Make sure your permissions for the root folders are set correctly too as this has caused me problems in the past.
-
- 2012-09-13
ファイルを同じサーバーにコピーし、サブディレクトリフォルダーが異なるため、ページにアクセスしようとすると、index.phpは正常に機能しますが、他のページは機能せず、404エラーが発生します.英語が下手でごめんなさい!!
オリジナルのhtaccessを調べます:
#WordPressを始める RewriteEngineオン RewriteBase/ RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule./index.php [L] #WordPressを終了
そして新しいものを入れて
#WordPressを始める RewriteEngineオン RewriteBase/subdirectoryfolder RewriteCond%{REQUEST_FILENAME}!-f RewriteCond%{REQUEST_FILENAME}!-d RewriteRule./subdirectoryfolder/index.php [L] #WordPressを終了
when i copy my files into the same server but with different subdirectory folder so when i tried to access my pages, index.php is working fine but the other pages are not and giving me a 404 error. Sorry for my bad english!!
I just look into my htaccess the original:
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress
and put the new one with
# BEGIN WordPress RewriteEngine On RewriteBase /subdirectoryfolder RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /subdirectoryfolder/index.php [L] # END WordPress
-
こんにちは@lizette.WPSEフォーラムへようこそ.ここで[フォーマットのしくみ](http://stackoverflow.com/editing-help)を確認することをお勧めします.Hi @lizette. Welcome to WPSE forums. You may want to check out [how formatting works](http://stackoverflow.com/editing-help) here.
- 0
- 2012-09-21
- Pothi Kalimuthu
-
- 2011-06-17
htaccessを無効にしても404を取得していて、パスを確認し、ファイルがそこにあることがわかっている場合、残っているオプションはこれら3つだけです...
オプション...
- サーバーで大文字と小文字が区別されるオペレーティングシステムが実行されている可能性があります.つまり、パスを入力していて、正確な文字と大文字と小文字を使用していない場合、それは単に機能しません.
- 権限:ファイル、フォルダ、または親フォルダに対して間違った権限を持っている可能性があります.ファイル、フォルダー、および親フォルダーのアクセス許可を755に変更してみてください.ssh(ターミナル)アクセス権がある場合は、ルートに移動してこの「chmod -R 755mydir」を実行すると、すべてのアクセス許可が再帰的に設定されます.
- それでも問題が解決しない場合は、サーバー構成に問題があります(おそらくApache).それについてはホスティングプロバイダーに相談する必要があります.
それでも機能しない場合は、新しいホストが必要です.
If you are still getting 404's with the htaccess disabled and you have verified the paths and you know the files are there then your only options left are these three...
Options...
- Server is quite possibly running a case-sensitive operating system. Which means if you are typing in a path and not using the exact characters and casing it simply will not work.
- Permissions: You may have the wrong permissions on the file or folder or a parent folder. Try to change the permissions to 755 on the files, folders, and parent folders. If you have ssh (terminal) access to it then go to your root and run this "chmod -R 755 mydir" and that will recursively set the permissions for all of them.
- If you are still having a problem after all of that then you have a server config problem (Apache probably). You will need to talk to your hosting provider about it.
If none of that works then you need a new host.
-
- 2015-12-10
htaccessを編集して髪の毛を抜いた後、ついにWordPressで機能するソリューションを見つけました.
WordPressがインストールされているのと同じルートディレクトリにcodeiginterスクリプトをインストールした後、この問題が発生しました.
ここにリストされているすべてのトリックを試した後でも、新しいスクリプトに関連付けられたページで404エラーが発生していました.
WordPressのhtaccessがスクリプトのhtaccessを上書きしていることに気づきました.また、同じディレクトリにある他のWordPressインストールではこの404エラーが発生しなかったことにも注意しました.
同じサーバーディレクトリにある新しいWordPressインストールからhtaccessを採用し、スクリプトが配置されているフォルダーに追加しました.外観は次のとおりです:
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /subdirectoryname/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /subdirectoryname/index.php [L] </IfModule>
subdirectoryname をディレクトリの名前に置き換え、このhtaccessファイルをスクリプトが配置されているフォルダ内に配置します.
例:サイトがここにインストールされている場合
public_html/
新しいフォルダが見つかります
`public_html/example`
上記のhtaccessをコピーして、「example」フォルダ内に保存すると、機能するはずです.
After nearly plucking my hair editing the htaccess I finally found a solution that will work for WordPress.
I had this problem after installing a codeiginter script on the same root directory that WordPress is installed.
After trying all the tricks listed here I was still getting 404 errors on the pages associated with the new script.
I noted that the WordPress htaccess was overiding the script's htaccess. I also noted that other WordPress installations in the same directory did not have this 404 error.
I simply adopted the htaccess from the new WordPress installation in the same server directory and added it in the folder where my script is located. Here is how it looks like :
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase /subdirectoryname/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /subdirectoryname/index.php [L] </IfModule>
Replace subdirectoryname with the name of your directory and place this htaccess file inside the folder where your script is located.
Example : If the site is installed here
public_html/
and the new folder is located
`public_html/example`
copy the htaccess above and save it inside the folder 'example' and this should work.
-
- 2013-10-02
同様の問題が発生したため、ここでの応答を何度も確認しました.サブディレクトリにファイルにアクセスしようとすると404エラーがスローされるファイルがあります.Kirsten Douglasが言うように、すべての.htaccessのものはそれを修正できませんでした、Wordpressはすでに仕事をしています.
私の解決策
これを見つけました
サーバー上のerror_logを確認した後の記事.スクリプトのuidが間違っているというメッセージが表示されていました.また、ファイルが原因で404がスローされていないことにも気付きましたが、サーバーが500.htmlファイルを提供できなかったため、つまり500エラーが発生しました. ルートとしてファイルを作成したことが判明し、所有権をWebファイルの所有者に変更する必要がありました.
これが同じ問題を抱えている他の人に役立つことを願っています!
I've looked at the responses here a number of times as I'd run into a similar problem. I have files in a subdirectory that would throw a 404 error when I tried to access them. All the .htaccess stuff failed to rectify it, as Kirsten Douglas says, Wordpress does the job already.
My solution
I found this article after checking the error_log on the server. I was getting a message about wrong uid for scripts. I also noticed that the 404 wasn't being thrown because of the file, but because the server couldn't serve up a 500.html file i.e. I had a 500 error.
Turns out I'd created files as root, and needed to change ownership to the webfiles owner.
I hope this helps others who've had the same issue!
-
- 2011-06-16
サブフォルダー内のリクエストでWordPressルールが無視されるようにする
RewriteCond
ディレクティブを追加するだけで済みます.RewriteCond %{REQUEST_URI} !^/mysubdirectory # rest of WordPress rewrite rules
しかし、WordPressの
.htaccess
がない場合でも問題が発生しているとおっしゃっていますか?サブディレクトリ.htaccess
の内容は何ですか?You should be able to just add a
RewriteCond
directive that will make sure the WordPress rules are ignored for requests inside your subfolder.RewriteCond %{REQUEST_URI} !^/mysubdirectory # rest of WordPress rewrite rules
However, you say that even with no WordPress
.htaccess
you're experiencing the problem? What's the contents of your subdirectory.htaccess
?
以前に尋ねられ、適切に回答されていないこの質問を参照します.実際のサブディレクトリをオーバーライドするWordpress
そしてまた
「Wordpress」以外ページ/コードで404エラーが発生する
同じ問題があり、ネットで見つけたほとんどすべてを試しました.それは間違いなくワードプレスでパーマリンクをオンにすることに関連しています. ただし、次のサブディレクトリに新しい.htaccessファイルを配置しました:
RewriteEngineオフ
そして問題はまだ存在します. wordpressの.htaccessファイルを完全に削除しても、問題は解決しません.
私はまた、次のような他のいくつかの提案された解決策を試しました ErrorDocument401「不正アクセス」 そして ErrorDocument404「不正アクセス」 そして リダイレクト301/mysubdirectory http://www.mydomain.com/mysubdirectory/index.html さまざまな場所ですべて役に立たない.
誰かが別の解決策を提供できますか? 修正できる唯一の方法は、パーマリンクをオフにすることですが、オンにする必要があります.
ありがとう
ニコール