この.htaccessファイルはWordPressにあります。/public_html /(Webルート)にあります。書き換えエンジンからフォルダー(csNewsAd)を除外する必要があります。私はこれをSOで同様の別の質問に基づいて試しましたが、まったく機能しませんでした。
AddHandler x-httpd-php5 .php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^/csNewsAd($|/) - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
助言がありますか?
パスワード保護のために/ csNewsAd内に別の.htaccessがあります。
AuthName "Clasificados"
AuthType "basic"
AuthUserFile /home/ig000192/public_html/csNewsAd/.passwd
Require valid-user
RewriteCond %{REQUEST_URI} !^/(csNewsAd|csNewsAd/.*)$
の代わりに
RewriteRule ^/csNewsAd($|/) - [L]
ルートの.htaccessファイルに以下の行を配置します。
ErrorDocument 401 default
まったく同じ問題があり、これは私のために働いた。リダイレクトが機能しないのは問題ではありません。問題は、401(Authorization Required)エラーがnog定義されているため、「ポップアップ」が表示されないことです。
同じ問題を抱えていて、ここで私の問題の答えを見つけました: http://kb.siteground.com/article/How_to_exclude_a_folder_from_Wordpress_permalinks.html
-サイトから
WordPress書き換えルールからサブフォルダーを除外するには、.htaccessファイルを編集し、以下の太線を変更する必要があります。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# RewriteRule . /index.php [L] # Original line
RewriteRule ./ /index.php [L] # New line
</IfModule>
# END WordPress
.htaccessは、その下のすべてのディレクトリに影響を与えるため、cshtsAdに.htaccessを必要な書き換えディレクティブと共に配置すると、ルートファイルよりも優先されます。
.htaccessファイルでmod_rewriteを使用している場合は、パターンでローカルパスプレフィックスなしでURLパスを指定するだけです。先頭に/
がない場合(ドキュメントルート/
にいるとき):
RewriteRule ^csNewsAd($|/) - [L]
これはグーグルで一番の結果であり、間違った答えです。
正解はこれを追加することですbefore the Wordpress=ディレクティブ。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/subdirectoryname1/(.*)$ [OR]
RewriteCond %{REQUEST_URI} ^/subdirectoryname2/(.*)$ [OR]
RewriteRule ^.*$ - [L]
</IfModule>
GoDaddy WordPressサイト。私のインストールにはweb.configファイルがあったため、書き換えルールを追加しました。MVC.netを実行できる/ ApiDataパスが必要でした。 AJAX呼び出しのアプリケーション(仮想ディレクトリ)。
<system.webServer>
<!-- ... -->
<rewrite>
<rules>
<rule name="apidata" stopProcessing="true">
<match url="apidata"/>
</rule>
<rule name="wordpress" patternSyntax="Wildcard">
<match url="*"/>
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
</conditions>
<action type="Rewrite" url="index.php"/>
</rule>
</rules>
</rewrite>
</system.webServer>
私はGoDaddyをホスティングしていますが、この問題はkilled meです。パスワードで保護されたサブディレクトリで、public_htmlの.htaccessオプションが競合するという問題が何度もありました。
.htaccessファイルに約100万のさまざまな変更を試みたため、別のアカウントを購入することになり、この問題を回避しました。完全性と明確性のために、現在、セットアップとソリューションを共有しています。 (とにかく、アカウントはとにかく価値があったので、大したことはありません。)
他の回答の組み合わせのように見える場合、それはそうです。そのすべてが機能するのにかかりました。
ディレクトリ構造:
-otherfiles
---public_html
---.htaccess
-----subfolder
---.htaccess
サブフォルダーの.htaccessにはパスワード保護機能があるため、次のようになります。
AuthType Basic
AuthName "Attendance"
AuthUserFile "/home/user/.htpasswds/public_html/attendance/passwd"
require valid-user
Public_html .htaccessには元々これがあり、機能していません(すべてを飲み込んでリダイレクトしたため、FatFreeFrameworkまたはCodeIgniterが処理していました)。
RewriteEngine On
RewriteCond $1 !^(index.php|resources|subfolder|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
この問題を解決するために、public_html .htaccessファイルに2行追加しました。そして、あなたはどこを推測していないのか、ファイル全体をもう一度表示します:
RewriteEngine On
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} !^/(subfolder|subfolder/.*)$
ErrorDocument 401 default
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
私は最初にこれをRailsで始めました。 Rails .htaccessは次の2行です。
# RewriteCond %{REQUEST_URI} ^/notrails.*
# RewriteRule .* – [L]
私が最終的に彼らの例に従ったとき、それは働きました。
画像、javascript、スタイルシート、css、images-global、js-global(など)を除外したいので、上記を変更しました。
RewriteCond %{REQUEST_URI} ^(images|javascripts|stylesheets|css|images-globa|js-global|js).*
RewriteRule .* – [L]
そして、それは私が必要とする方法で機能しました。
Javascript、stylesheet、imagesのフォルダがたくさんあるということについてはお話ししません…。
しかし、これにより、「エラー」ファイルの痛みが軽減されます。誰かが存在しない画像ファイルを追加した場合、私の派遣はそれを処理する必要はありません。
私は私の2つのサイトで同様の問題を抱えていました。ここで読んだコメントはうまくいきませんでしたが、ついにこのコードが機能するようになりました。
<IfModule mod_rewrite.c>
RewriteEngine on
# stuff to let through (ignore)
RewriteCond %{REQUEST_URI} "/folder1/"
RewriteRule (.*) $1 [L]
これを試してみてください
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^/(gadget)/(.*) /gadget/$2 [R]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
私はその古い投稿を知っていますが、それでも私を助けました。 RewriteRulesのいくつかのブロックの追加の問題がありました。
##
## White listed folders
##
RewriteCond %{REQUEST_URI} !^/(phplist|phplist/.*)$
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} !/.well-known/*
RewriteCond %{REQUEST_FILENAME} !/storage/app/uploads/.*
RewriteCond %{REQUEST_FILENAME} !/storage/app/media/.*
...
RewriteCond %{REQUEST_FILENAME} !/modules/.*/(assets|resources)/.*
RewriteRule !^index.php index.php [L,NC]
##
## Block all PHP files, except index
##
RewriteCond %{REQUEST_URI} !^/(phplist|phplist/.*)$
RewriteCond %{REQUEST_FILENAME} -f
RewriteCond %{REQUEST_FILENAME} \.php$
RewriteRule !^index.php index.php [L,NC]
##
## Standard routes
##
RewriteCond %{REQUEST_URI} !^/(phplist|phplist/.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
すべてのブロックの前にRewriteCondを追加する必要がありました...
次のようなものを追加できます。
RewriteCond %{REQUEST_URI} !^/csNewsAd
ただし、csNewsAdが実際にディレクトリ(フォルダ)である場合、最初の場所で書き換えられるべきではないため、これは必要ありません。
RewriteCond %{REQUEST_FILENAME} !-d
あなたとそのフォルダ、権限、または(実際に)別の.htaccessの間に他に何も置かれていないと確信していますか?
.htaccessのフローでこの行がどこに行くかが重要であることは注目に値します。
こちらをご覧ください: http://tanyanam.com/technology/wordpress-exclude-directory-from-url-rewrite-with-htaccess -行はWordPressもの、それ以降は動作しません。
ロブ
あなたはすでにこれを除外していると確信していますが、同じ問題のためにここに来たので、あなたと共有したいと思いました:私の場合、問題は実際にはアクセス許可にありました-明らかに、アクセスできないフォルダ、除外は無視されていました。