.htaccess & WordPress: исключить папку из RewriteRule - PullRequest
21 голосов
/ 24 февраля 2010

У меня есть этот файл .htaccess в WordPress.Он находится в / public_html / (веб-корень).Мне нужно исключить папку (csNewsAd) из механизма перезаписи.Я попробовал это, основываясь на другом вопросе, подобном здесь, в SO, но не работал вообще.

<code>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 для защиты паролем:

<code>
AuthName "Clasificados"
AuthType "basic"
AuthUserFile /home/ig000192/public_html/csNewsAd/.passwd
Require valid-user

Ответы [ 15 ]

0 голосов
/ 30 ноября 2017

Я знаю, это старый пост, но он все еще помог мне. У меня была дополнительная проблема нескольких блоков 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 перед каждым блоком ...

0 голосов
/ 27 марта 2014

Стоит отметить, что имеет значение, где в потоке .htaccess эта строка идет.

См. Здесь: http://tanyanam.com/technology/wordpress-exclude-directory-from-url-rewrite-with-htaccess - строка должна идти раньше, чем WordPress, она победилаработать после них.

Роб

0 голосов
/ 21 октября 2012

Я почти уверен, что вы уже исключили это, но, поскольку я приехал сюда по той же самой проблеме, я хотел поделиться ею с вами: в моем случае проблема была на самом деле в разрешениях - очевидно, не доступ к папке, исключение игнорировалось.

0 голосов
/ 20 августа 2012

Вы должны попробовать это

# 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
0 голосов
/ 24 февраля 2010

Вы можете добавить что-то вроде этого:

RewriteCond %{REQUEST_URI} !^/csNewsAd 

но это не нужно, потому что если csNewsAd действительно является каталогом (папкой), его не следует переписывать в первую очередь из-за

RewriteCond %{REQUEST_FILENAME} !-d

Вы уверены, что между вами и этой папкой нет ничего другого, прав или (действительно) другого .htaccess?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...