Перезапись Мода. Почему Wordpress Перенаправляет, Когда Я Разделяю Wp-Core И Wp-Content?

  • Автор темы Serialnys
  • Обновлено
  • 21, Oct 2024
  • #1

Я пытаюсь настроить свои проекты Wordpress, чтобы иметь

 
 
 
 
 wp-config/ 
as my site URL, say mapped to mod_rewrite и там я хотел бы использовать следующую структуру:

wp-login.php

Я хотел бы /wp-login.php/ to contain the Wordpress core installation as an requested uri /wp-login.php/ и с 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (2) init rewrite engine with requested uri /wp-login.php/ 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (1) pass through /wp-login.php/ 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (3) [perdir /Users/joe/tmp/example.com/trunk-new/] add path info postfix: /Users/joe/tmp/example.com/trunk-new/wp-login.php -> /Users/joe/tmp/example.com/trunk-new/wp-login.php/ 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (3) [perdir /Users/joe/tmp/example.com/trunk-new/] strip per-dir prefix: /Users/joe/tmp/example.com/trunk-new/wp-login.php/ -> wp-login.php/ 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (3) [perdir /Users/joe/tmp/example.com/trunk-new/] applying pattern '^$' to uri 'wp-login.php/' 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (3) [perdir /Users/joe/tmp/example.com/trunk-new/] add path info postfix: /Users/joe/tmp/example.com/trunk-new/wp-login.php -> /Users/joe/tmp/example.com/trunk-new/wp-login.php/ 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (3) [perdir /Users/joe/tmp/example.com/trunk-new/] strip per-dir prefix: /Users/joe/tmp/example.com/trunk-new/wp-login.php/ -> wp-login.php/ 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (3) [perdir /Users/joe/tmp/example.com/trunk-new/] applying pattern '.*' to uri 'wp-login.php/' 127.0.0.1 - - [06/Feb/2014:21:02:59 +0000] [www.example.com/sid#7ffb79860180][rid#7ffb7b8020a0/initial] (2) [perdir /Users/joe/tmp/example.com/trunk-new/] rewrite 'wp-login.php/' -> '/wp-core/index.php' and .htaccess хранится в моем репозитории SVN и содержит темы, настройки и т. д. для каждого сайта.

В следующей статье объясняется, как настроить вышеуказанную структуру: http://codex.wordpress.org/Installing_WordPress_With_Clean_Subversion_Repositories

Однако у меня возникла проблема: сайт загружается правильно, считывает его конфигурацию из HTTP 301 file above # BEGIN WordPress <IfModule mod_rewrite.c> # Hey-ho let's go! RewriteEngine On # Base is the URL path of the home directory RewriteBase / # Base goes to WordPress RewriteRule ^$ /wp-core/index.php [L] # Skip real files and directories RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Otherwise send it to WordPress RewriteRule .* /wp-core/index.php [L] </IfModule> # END WordPress как и предполагалось, однако, когда я пытаюсь войти в систему, Wordpress перенаправляет запрос с SELECT option_name,option_value FROM wp_options WHERE option_name = 'home'; home,http://www.example.com SELECT option_name,option_value FROM wp_options WHERE option_name = 'site url'; siteurl,http://www.example.com to wp_options - обратите внимание на косую черту.

Вот подтверждение дополнительных строк в define('WP_CONTENT_DIR', dirname(__FILE__) . '/wp-content'); define('WP_CONTENT_URL', 'http://' . $_SERVER['HTTP_HOST'] . '/wp-content' ); I've added for this:

wp-config.php

Вот соответствующие строки из http://www.example.com/wp-login.php/ in my DB:

http://www.example.com/wp-login.php

Вот мой .htaccess:

wp-core

Прослеживая это в Chrome, я вижу, что wp-config.php from the correct address to the address with the trailing slash is returned by the server, so it would point to the wp-config.php выше, однако первая строка следующего отрывка несколько противоречит этому:

wp-content

Конкретно: svn:external indicates that Apache receives a request for wp-core/ и не /var/www/vhosts/www.example.com/wp-core/ /var/www/vhosts/www.example.com/wp-content/ /var/www/vhosts/www.example.com/wp-config.php and /var/www/vhosts/www.example.com/ проходит через запрос.

Может ли кто-нибудь предложить какие-либо предложения о том, как я могу это настроить, чтобы я мог иметь файлы ядра WP в одном каталоге в корне документа и http://www.example.com/ alongside the WP core directory?

#redirect #mod-rewrite #svn

Serialnys


Рег
24 Oct, 2013

Тем
60

Постов
211

Баллов
511
  • 25, Oct 2024
  • #2

 .htaccess 
is an actual file that is directly loaded up instead of using a rewrite rule. If you look at file listing in define( 'WP_SITEURL', 'http://example.com/wp-core' ); // Where the WP core is define( 'WP_HOME', 'http://example.com/' ); // Where the public goes to view your blog , вы, вероятно, не увидите wp-config.php file. But if you check site url , вы, вероятно, найдете его, если я правильно понимаю вашу конфигурацию. Это означает, что ваш URL-адрес для входа на самом деле: home url

Теперь есть еще одна проблема с вашей текущей настройкой. WordPress не знает URL-адрес основных файлов и, следовательно, административной области сайта. По умолчанию WordPress использует один и тот же URL-адрес для общедоступной стороны ( http://www.example.com/wp-core/wp-login.php ) and the installation folder ( /var/www/vhosts/www.example.com/wp-core/ ). Ты можешь настройте это в своем wp-login.php file:

/var/www/vhosts/www.example.com/ ||answer||

Используя wp-login.php file provided in the following link, I was able to access wp-login again, without redirecting to a URL with a trailing slash:

http://ottopress.com/2011/creating-a-wordpress-site-using-svn/

 

Vk_mk


Рег
19 Sep, 2006

Тем
77

Постов
203

Баллов
618
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно