Я настраиваю WordPress на облачной платформе Google в многосайтовой конфигурации (сеть). Я использую wp-gae, и все работает отлично, за исключением довольно постоянных ссылок. Как правильно написать app.yaml?
Я использую wordpress поверх wp-gae (https://cloud.google.com/community/tutorials/run-wordpress-on-appengine-standard). В облаке красивые постоянные ссылки не работают, но на моем локальном компьютере отлично работает каждая маска постоянных ссылок. Я имею в виду, проблема в app.yaml или app-gae.php, но я не могу сделать это работающим.
#app.yaml
runtime: php72
instance_class: F2
entrypoint: serve gae-app.php
handlers:
- url: /(.*\.(htm|html|css|js))
static_files: \1
upload: .*\.(htm|html|css|js)$
- url: /wp-content/(.*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg))
static_files: wp-content/\1
upload: wp-content/.*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg)$
- url: /(.*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg))
static_files: \1
upload: .*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg)$
- url: /wp-includes/images/media/(.*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg))
static_files: wp-includes/images/media/\1
upload: wp-includes/images/media/.*\.(ico|jpg|jpeg|png|gif|woff|ttf|otf|eot|svg)$
/**
* gae-app.php
* Function to return a PHP file to load based on the request URI.
*
* @param string $full_request_uri The request URI derivded from $_SERVER['REQUEST_URI'].
*/
function get_real_file_to_load($full_request_uri)
{
$request_uri = @parse_url($full_request_uri)['path'];
// Redirect /wp-admin to /wp-admin/ (adds a trailing slash)
if ($request_uri === '/wp-admin') {
header('Location: /wp-admin/');
exit;
}
// Serve up "index.php" when /wp-admin/ is requested
if ($request_uri === '/wp-admin/') {
return '/wp-admin/index.php';
}
// Load the file requested if it exists
if (is_file(__DIR__ . $request_uri)) {
return $request_uri;
}
// Send everything else through index.php
return '/index.php';
}
$_SERVER['HTTPS'] = $_SERVER['HTTP_X_APPENGINE_HTTPS'];
$file = get_real_file_to_load($_SERVER['REQUEST_URI']);
$_SERVER['DOCUMENT_URI'] = $_ENV['DOCUMENT_URI'] = $file;
$_SERVER['PHP_SELF'] = $_ENV['PHP_SELF'] = $file;
$_SERVER['SCRIPT_NAME'] = $_ENV['SCRIPT_NAME'] = $file;
$_SERVER['SCRIPT_FILENAME'] = $_ENV['SCRIPT_FILENAME'] = __DIR__ . $file;
require __DIR__ . $file;
Мне нужно включить симпатичные постоянные ссылки, такие как / post-title, но теперь работают только базовые постоянные ссылки. Когда я изменяю конфигурацию на что-то другое, некоторые страницы и URL-адреса выбрасывают 404 - например. сетевая панель, все медиа-файлы из медиа-библиотеки (просмотр). Но пост (вроде / hello-world) все еще работает.