微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php-如果url不包含某些字符串,则htaccess重定向

我想将所有传入请求重定向到另一个不包含#和admin的URL.我需要angular.js,但是我有/ admin和PHP

例如:

http://example.com/link-to-article-> http://example.com/#/link-to-article

http://example.com/admin/ *将不会重定向

解决方法:

您可以在DOCUMENT_ROOT / .htaccess文件中使用以下代码

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule !^((admin|login)(/.*)?)?$/#%{REQUEST_URI} [L,NC,NE,R=302]

还要记住,Web服务器在#之后没有URL部分,因为它仅在客户端解决.

> RewriteCond%{REQUEST_FILENAME}!-f跳过所有文件的此规则.
>使用!否定RewriteRule模式中的整个比赛
>(((admin | login)(/.*)?)?匹配/ admin /或/ login /或空(登录页面)的任何内容
>如果否定为true,则此规则会将其重定向到/#%{REQUEST_URI},其中%{REQUEST_URI}表示原始URI.

参考文献:

> Apache mod_rewrite Introduction
> Apache mod_rewrite Technical Details

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐