Можно ли «спрятать» подкаталог после переписывания корня в этот каталог? - PullRequest
0 голосов
/ 30 ноября 2010

Что я пытаюсь сделать, так это скрыть тот факт, что страница обслуживается из подкаталога.

В настоящее время у меня есть следующее .htaccess

RewriteEngine On
RewriteBase / 
RewriteCond %{REQUEST_URI} !^/blog
RewriteRule (.*) /blog/$1

Это делает то, что я хочу. Он обслуживает страницы от /blog, создавая впечатление, что пользователь находится в корневом каталоге.

Однако, если пользователь заходит http://www.example.com/blog, он получает ту же страницу. Если возможно, я бы хотел, чтобы они получили /blog/blog.

Основная причина, по которой меня это беспокоит, связана не с реальными пользователями, а с роботами, которые могут проиндексировать страницу с неправильным URL.

1 Ответ

2 голосов
/ 30 ноября 2010

Это возможно, но вам придется немного обмануть. По сути, THE_REQUEST никогда не изменяется во время переписывания, поэтому вы можете проверить это.

RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} /blog
RewriteRule . - [F]
RewriteCond %{REQUEST_URI} !^/blog
RewriteRule (.*) /blog/$1

http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...