2015-04-11 8 views
0

У меня есть следующий stucture:Wordpress возвращает 404 на существующий файл

Wordpress установлен в корень, и /api/api.php файл вручную созданный

Когда я иду в www.example.com/api/api.php я получаю 404

Это мой .htaccess в корневой папке:

Options +FollowSymLinks 
RewriteRule ^api/api\.php$ - [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 

я ожидаю этого должно позволить запросы /api/api.ph p через unmolested.

Кроме того, я попытался положить в файл .htaccess в/API только с

# disable the rewrite engine 
RewriteEngine off 

, но я все еще получаю ошибку 404, несмотря на это.

Остальная часть сайта работает нормально, и я попытался отключить все плагины WP на всякий случай.

+0

Я также попытался http://stackoverflow.com/questions/1784743/why- is-my-last-rule-l-not-working-in-apache – Pranab

+0

Учитывая все, что вы пробовали, вероятно, стоит обратить внимание на [RewriteLog [(http://httpd.apache.org/docs/2.2/mod/) mod_rewrite.html # RewriteLog), чтобы посмотреть, что он на самом деле делает ... –

ответ

0

попытайтесь изменить постоянную ссылку с панели администратора или если у вас есть сервер IIS7, тогда ваша постоянная ссылка должна быть как% postname% index.php.

, а также попробовать этот .htaccess код и вместо «например» написать базовый сайт имя пути

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase /example/ 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /example/index.php [L] 

+0

Постоянная ссылка работает нормально. Проблема в том, что я не могу получить доступ к существующему файлу '/ api/api.php', который бросает ошибку 404. На самом деле '' RewriteCond% {REQUEST_FILENAME}! -f' заявление не работает? – Pranab

+0

add RewriteBase/rest/after RewriteEngine On – waseem

+0

Я думаю, проблема в вашем RewriteRule^api/api \ .php $ - [L], поэтому попробуйте это утверждение RewriteRule^api (/.*)? /api.php [L, R]. – waseem

Смежные вопросы