如何为htaccess写一个重写规则?

时间:2012-04-11 08:32:49

标签: php regex .htaccess mod-rewrite redirect

我需要重定向任何 www.mysite.com/anything/anything www.mysite.com/anything 并排除 www.mysite.com/应用

TO www.mysite.com/app

当然我想排除是可选的。它只是一个额外的重定向,我认为这需要额外的时间,但它排除它会很好。

我找到了这些基本的例子http://www.yourhtmlsource.com/sitemanagement/urlrewriting.html,并且已经完成了这个:

RewriteRule ^*/*/$ /app
RewriteRule ^*/$ /app

但它不起作用加上我仍然不知道如何排除/ app

请帮忙吗?

更新

我认为。*代表正则表达式中的0个或更多点,我的例子完全错误,我需要任何语法而不是你在答案中使用的点。

3 个答案:

答案 0 :(得分:3)

你可以试试这个:

Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/app$ 
RewriteRule ^.*$ /app [L]

答案 1 :(得分:2)

这对你有用吗?

RewriteEngine on
RewriteRule ^.*$ app/ [L]

不幸的是,它并没有排除正确的道路。但先试试吧。

答案 2 :(得分:0)

将此代码放在DOCUMENT_ROOT下的.htaccess中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteRule ^(?!app/).*$ app [L,NC]

上面的RewriteRule中的否定前瞻会将除/app/之外的URI以外的所有内容重定向到/app