2014-01-23 3 views
0

Привет Я занимаюсь разработкой приложений PHP, где в index.php странице есть форма с действиемКак разрешить косую черту в URL?

«/controllers/UserController.php/signin/pr», который перенаправляется на UserController.php и я использую для входа в аккаунт и pr в качестве параметров с другими регулярными сообщениями.

Это работает отлично на моем LOCALHOST Apache2.2, но когда я принимал на godaddy.com он дает ошибку «не указано Нет входного файла.»

Я прочитал другую статью, и они все говорят, что я должен написать правило в «.htaccess« , но я не могу написать правильные правила. Пожалуйста, помогите решить эту проблему.

+0

Являются ли файлы привилегиями ОК? Я имею в виду php + x (выполнить)? –

+0

Я думаю, что привилегии в порядке. becoz, когда я использую URL как «/controllers/UserController.php», он работает, но с/signin/pr он не работает – user3228848

+0

ОК. Надеюсь, что ответ @giorgio будет полезен. С наилучшими пожеланиями! –

ответ

0

Это потому, что php работает как приложение cgi. Вам придется немного изменить правила перезаписи. Также проверьте this post

Ваше правило переписывания, скорее всего, выглядит примерно так:

RewriteRule ^(.*)$ index.php/$1 [L] 

Вы должны изменить его на:

RewriteRule ^(.*)$ index.php?/$1 [L] 

(взять не дополнительный знак вопроса)

+0

Спасибо, Джорджио за ценное решение. Я попробовал ваше предложение. Но есть проблема. Позвольте мне объяснить подробности. – user3228848

+0

Спасибо, Джорджио за ценное решение. Я попробовал ваше предложение, теперь оно работает частично. Но есть некоторые проблемы. Позвольте мне объяснить подробно. когда страница index.php перенаправляется на UserController.php, а затем внутренне перенаправляется на другие страницы. Теперь он перенаправляется на страницу, где я хотел, но URL-адрес браузера не изменяется, а css и javascript не работают. Пожалуйста, помогите мне – user3228848

+0

, если я вас правильно понимаю: ваш код в UserController.ph действительно выполняется, но URL-адрес браузера остается неизменным (что означает: адрес, который вы вводили в адресной строке браузера). Но если вы хотите перенаправить посетителя, вам придется выводить заголовок перенаправления или что-то в этом роде. Правила перезаписи перенаправляют запрос только на определенный скрипт, который не равен перенаправлению. – giorgio

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