如果页面没有指定扩展名而没有将用户物理重定向到实际的URL,是否有一种GENERIC方式将页面指向另一个页面?
e.g.
http://www.mydomain.com/ points to http://www.mydomain.com/public
http://www.mydomain.com/auth points to http://www.mydomain.com/public/auth
http://www.mydomain.com/auth/process points to http://www.mydomain.com/public/auth/process
http://www.mydomain.com/auth/process/done points to http://www.mydomain.com/public/auth/process/done
答案 0 :(得分:2)
也许这就是你所需要的:
RewriteCond %{REQUEST_URI} !^/(public)(.*)$ [NC]
RewriteRule ^(.*)$ /public/$1 [L]
修改强>
添加此RewriteCond以检查扩展名:
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
答案 1 :(得分:0)
是的,您可以通过重写规则来实现,但您应该了解一些关于URL或某些条件的信息,以防止重写其他网址。
例如,您给定URL的重写规则是:
RewriteRule ^auth/(.*)$ public/auth/$1 [L]
RewriteRule ^$ public [L]