2015-02-26 2 views
4

У меня есть сайт WordPress с плагином Shibboleth, который использует Shibboleth для аутентификации пользователей. URLКак написать Mod Rewrite, чтобы исключить URL-адреса Shibboleth?

Сайт: www.mytestsite.com/wordpress/blog

Я хотел, чтобы удалить подкаталог из URL так, я последовал ниже URL и выполнил его

http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

Теперь, Я могу получить доступ к блогу без поддиректории URL

Сайт: www.mytestsite.com/blog

ХТ Файл доступа выглядит следующим образом

# 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 

но шибболет аутентификация не работает, потому что Апач Тринг найти Шибболет URLs в WordPress и отображает страницу не найден.

Мне нужно написать RewriteCond, который исключает URL-адреса shibboleth.

шибболет URL являются:

www.mytestsite.com/Shibboleth.sso/Login

www.mytestsite.com/Shibboleth.sso/Logout

www.mytestsite.com/Shibboleth .sso/Session

Мне нужна помощь в написании правила RewriteCond для вышеуказанных URL-адресов, любезная помощь.

+1

Попробуйте добавить 'RewriteCond% {REQUEST_URI}! \. Sso /' после первого правила, но перед вторым правилом. – bloodyKnuckles

+0

Спасибо, что он сработал –

ответ

1

Другой вариант (как на мой комментарий под вопросом):

RewriteCond %{REQUEST_URI} !\.sso/ # exclude Shibboleth extensions 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

... добавить еще одно условие для второй RewriteRule группы, за исключением запросов, которые содержат пунктирная косая черта. :)

+0

привет, вы можете мне помочь с этим http://stackoverflow.com/q/28948418/4119732 это дополнительное правило, которое я хочу добавить в файл .htaccess –

1

Вы можете использовать:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

# ignore Shibboleth.sso and index.php from rewrite 
RewriteRule ^index\.php|Shibboleth\.sso$ - [L,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress