2015-03-06 4 views
1

Я протестировал следующий шаблон в онлайн-тестерах, и каждый из них работает нормально. Кроме того, правила работают для других подобных итераций без проблем.htaccess - не распознает шаблон url

RewriteCond %{REQUEST_URI} !404 [NC] 
RewriteRule ^manager/services/([\w\-]+) manager/services/controller.php?PAGE=$1 [QSA,L,R=302] 

для запроса URI (не могу дать URL атм, как его еще небезопасно):

/manager/services/get-items 

Но это правило бросает ошибку 404. контроллер определенно существует, и я могу посетить его вручную без каких-либо проблем.

Единственная возможность, о которой я могу думать, - это какое-то взаимодействие с уровнем htaccess на уровне каталогов, который только разрешает, запрещает установку моего IP-адреса, но нет перенаправляет.

+0

Что именно вы пытаетесь выполнить со всеми этими условиями? –

+0

Игнорирование других каталогов. Они действительно необходимы, но я собрал немного frankenstein, пытающегося найти решение. –

+0

Все, что вы хотите, это последнее правило для работы? –

ответ

1

Поместите это в htaccess в корень и попробуйте.

Options -MultiViews 
RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^manager/services/([^/]+)/? /manager/services/controller.php?PAGE=$1 [QSA,L] 

Я предполагаю, что у вас есть Htaccess включен, так как вы сказали, что другие вещи там, но убедитесь, что он установлен в AllowOverride All в Apache конфигурации.

Edit:

Или вы можете попробовать и добавить код в файл Htaccess папки менеджер с этим.

RewriteEngine On 
RewriteBase /manager/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^services/([^/]+)/? services/controller.php?PAGE=$1 [QSA,L] 
+0

Crud. Все еще собираюсь отправиться в 404. Я собираюсь отправить билет. Спасибо за вашу помощь, но это должно сработать. –

+0

Также я всегда забываю использовать условия -f -d, поэтому, если ничего больше, я не заберу это :) –

+0

Также просто убедитесь, что вы очистили свой кеш или попробуйте в новом браузере, чтобы предыдущие правила не кэшировались. Также это CMS? Вы получаете 404 из Apache или из своего скрипта? –

0

Для потомков у меня была директория с именем «службы» в корневом каталоге веб-сайта на сервере GoDaddy. Что-то сбивает его с толку и вызывает 404 и 500 ошибок для всего, что связано с этой папкой.

Переименование папки в web_services разрешило проблему.

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