2016-05-08 2 views
0

Я переместил сайт WordPress как в новый домен, так и из подпапки в корень домена. Я работаю 301 переадресацию в htaccess для старого домена, поэтому все запросы туда перенаправляются с полным путем в новый домен. Этот htaccess ничего не делает, кроме как переписывать домен, сохраняя полный путь запроса неповрежденным.RewriteRule для удаления подпапки со всех запросов

В моем новом домене запросы к старой вложенной папке перенаправляются в корень домена, удаляя имя подпапки. Я также попытался захватить путь после подпапки и сохранить это. Однако перенаправление без подпапки остается в корне домена.

Так, например, floriskleijne.nl/site перенаправляет на floriskleijne.com/site, который, в свою очередь, перенаправляется на floriskleijne.com. Все идет нормально. Но floriskleijne.nl/site/about перенаправляет на floriskleijne.com/site/about, который перенаправляет на floriskleijne.com и/где-то где-то теряется. По какой-то причине захват пути после/сайта не работает.

Кроме того, я борюсь с тем фактом, что один из поддиректоров, из которых я хочу избавиться, обычно называется wp. Поэтому для этого субдира мне нужно правило, чтобы избавиться от него, сохраняя при этом доступ к страницам wp-admin, даже если его можно запросить с завершающей косой чертой или без нее. Аналогичная проблема выполняется для сайта /, который необходимо удалить с завершающим косой чертой или без нее, сохраняя файл sitemap.xml доступным.

Вот файл Htaccess, который не удается:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 

# Setting up rewriting 
RewriteEngine On 
RewriteBase/

# Redirect HTTPS to HTTP (temporary until certificate becomes available) 
RewriteCond %{HTTPS} on 
RewriteRule (.*) http://www.floriskleijne.nl/$1 [R=301,L] 

# Remove old subdirs /site/ and /wp/ from URL 
RewriteRule ^wp/(.*) http://www.floriskleijne.nl/$1 [R=301,L] 
RewriteRule ^site/(.*) http://www.floriskleijne.nl/$1 [R=301,L] 

# WordPress rewrites 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 
+0

О, неважно, я идиот. Я ввел .nl вместо .com для перенаправления цели. Неудивительно, что это не сработало; произошло переадресация цепи/петли. Исправлено это, чтобы указать на .com, и теперь все в порядке. –

ответ

0

Проблемы не с логикой переписывания, но с опечатками в мишенях переадресации. Я перенаправлялся на .nl, в то время как я планировал перенаправить внутри домена .com. Таким образом, вышеупомянутый файл htaccess был прав, как только я изменил .nl на .com.

Смежные вопросы