如何编写 Mod 重写以排除 Shibboleth url?
How to write a Mod Rewrite to exclude Shibboleth urls?
我有一个安装了 Shibboleth 插件的 wordpress 网站,它使用 Shibboleth 来验证用户。
站点 url:www.mytestsite.com/wordpress/blog
我想从 url 中删除子目录,所以,我按照下面的 url 完成了它
http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory
现在,我可以访问没有子目录的博客
站点 url:www.mytestsite.com/blog
htaccess 文件如下所示
# 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
但现在 shibboleth 身份验证不起作用,因为 apache 试图在 wordpress 中找到 shibboleth urls 并显示找不到页面。
我需要编写一个 RewriteCond 来排除 shibboleth urls。
口令 url 是:
www.mytestsite.com/Shibboleth.sso/Login
www.mytestsite.com/Shibboleth.sso/Logout
www.mytestsite.com/Shibboleth.sso/Session
我需要帮助编写上述 url 的 RewriteCond 规则,请帮助。
您可以使用:
# 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
另一种选择,(根据我在问题中的评论):
RewriteCond %{REQUEST_URI} !\.sso/ # exclude Shibboleth extensions
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
...向第二个 RewriteRule 组添加另一个条件,排除包含点-s-s-o-正斜杠的请求。 :)
我有一个安装了 Shibboleth 插件的 wordpress 网站,它使用 Shibboleth 来验证用户。
站点 url:www.mytestsite.com/wordpress/blog
我想从 url 中删除子目录,所以,我按照下面的 url 完成了它
http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory
现在,我可以访问没有子目录的博客
站点 url:www.mytestsite.com/blog
htaccess 文件如下所示
# 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
但现在 shibboleth 身份验证不起作用,因为 apache 试图在 wordpress 中找到 shibboleth urls 并显示找不到页面。
我需要编写一个 RewriteCond 来排除 shibboleth urls。
口令 url 是:
www.mytestsite.com/Shibboleth.sso/Login
www.mytestsite.com/Shibboleth.sso/Logout
www.mytestsite.com/Shibboleth.sso/Session
我需要帮助编写上述 url 的 RewriteCond 规则,请帮助。
您可以使用:
# 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
另一种选择,(根据我在问题中的评论):
RewriteCond %{REQUEST_URI} !\.sso/ # exclude Shibboleth extensions
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
...向第二个 RewriteRule 组添加另一个条件,排除包含点-s-s-o-正斜杠的请求。 :)