У меня есть веб-сайт, построенный на Zend Framework (который не сильно связан с проблемой), и Drupal установлен в подпапке / drupal .
В корне сайта у меня следующий .htaccess
SetEnv APPLICATION_ENV development
RewriteEngine On
# this will be handled with Drupal
RewriteCond %{REQUEST_URI} ^/blog.*$ [OR]
RewriteCond %{REQUEST_URI} ^/financing.*$ [OR]
RewriteCond %{REQUEST_URI} ^/marketing.*$
RewriteRule (^.*$) /drupal/index.php?q=$1 [L]
# this is handled with Zend Framework
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
У меня есть идея, которая выглядит следующим образом: если кто-то заходит на www.example.com/some-url, то Zend Framework или статический файл будут обрабатываться, но когда www.example.com/blog/some-blog-post, это будет обработан с drupal, и с этой стороны все в порядке.
1) Проблема с ссылками на drupal заключается в том, что их абсолютный путь - www.example.com/drupal/blog/some-blog-post (конечно, псевдоним этого поста blog / some-blog-post , но поскольку drupal установлен в подпапке, он добавляет / drupal перед blog / some-blog-post ). Из-за правил .htaccess, которые находятся в корневой папке веб-сайта, следующий URL-адрес также действителен: www.example.com/blog/some-blog-post. Я хочу как-то удалить / drupal часть из URL. Как мне это сделать?
2) Как я могу ссылаться на страницы, находящиеся вне папки / drupal, с относительными путями, например / some-folder / some-page.html , а также с корнем веб-сайта / ? Я знаю, что могу связать их абсолютным URL-адресом, например www.example.com/some-folder/some-page.html, но это не очень хорошо для меня.