2012-04-20 4 views
0

Я добавил следующее к моему CodeIgniter проекту моей .htaccess для того, чтобы удалить index.php:CodeIgniter + FB PHP SDK + моды переписана для удаления index.php = катастроф

#Removes access to the system folder by users. 
#Additionally this will allow you to create a System.php controller, 
#previously this would not have been possible. 
#'system' can be replaced if you have renamed your system folder. 
RewriteCond %{REQUEST_URI} ^system.* 
RewriteRule ^(.*)$ /index.php?/$1 [L] 

#When your application folder isn't in the system folder 
#This snippet prevents user access to the application folder 
#Submitted by: Fabdrol 
#Rename 'application' to your applications folder name. 
RewriteCond %{REQUEST_URI} ^application.* 
RewriteRule ^(.*)$ /index.php?/$1 [L] 

#Checks to see if the user is attempting to access a valid file, 
#such as an image or css document, if this isn't true it sends the 
#request to index.php 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

Все работало отлично. Мои URL-адреса больше не нуждаются в index.php в.

Однако, это создает интересный побочный эффект, что, когда я пытаюсь войти в систему с помощью Facebook OAuth, я получаю следующее сообщение об ошибке:

The webpage at =">https://www.facebook.com/dialog/oauth?client_id=123&redirect_uri=http%3A%2F%2Fwww.domain.com%2Fsign_in%2Ffacebook%2F&state=8f3d1e5de60e47935460564a41f35af3&scope=email#= has resulted in too many redirects. Clearing your cookies for this site or allowing third-party cookies may fix the problem. If not, it is possibly a server configuration issue and not a problem with your computer.

Примечание: идентификатор клиента и перенаправлять URI были изменены для обеспечения конфиденциальности.

Я использую PHP SDK 3.1.1 https://github.com/facebook/php-sdk и следовал примеру кода на http://developers.facebook.com/blog/post/503/. Когда у меня все еще был index.php в моих URL-адресах, все работало нормально. Проблема, похоже, началась после того, как я добавил правила перезаписи для удаления index.php.

Любые идеи, что происходит и как это исправить?

ответ

0

Попробуйте следующий патч: В системе/ядро ​​/ config.php файл, в методе site_URL замените следующую строку вернуть $ this-> slash_item ('base_url') $ this-> slash_item ('index_page'). . $ это -> _ uri_string ($ Uri) $ суффикса;. с новым кодом: return $ this-> slash_item ('base_url'). $ This -> _ uri_string ($ uri). $ Suffix;

Может получиться ...

+0

Что это должно делать? Я не думаю, что хочу коснуться ядра. – StackOverflowNewbie

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