Как выполнить перенаправление без расширения файла в URL на Apache - PullRequest
0 голосов
/ 05 октября 2011

Есть ли ОБЩИЙ способ указать страницу на другой странице, если у страницы нет указанного расширения без физического перенаправления пользователя на фактический URL?

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 

Ответы [ 2 ]

2 голосов
/ 05 октября 2011

Может быть, это то, что вам нужно:

RewriteCond %{REQUEST_URI} !^/(public)(.*)$ [NC]
RewriteRule ^(.*)$ /public/$1 [L]

Редактировать:

Добавить этот RewriteCond для проверки расширения:

RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
0 голосов
/ 05 октября 2011

Да, вы можете сделать это, переписав правила, но вы должны знать что-то об URL или о некоторых условиях, чтобы предотвратить перезапись других URL.

Например, правило перезаписи для данного URL:

RewriteRule ^auth/(.*)$  public/auth/$1 [L]
RewriteRule  ^$   public [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...