Всякий раз, когда вы указываете http://
в начале пути для перезаписи, Apache будет всегда принудительно перенаправлять 301 на новый URL, независимо от того, находится ли URL на том же веб-сайте или нет.Простое удаление части http://example.com
должно решить вашу проблему.
Что касается страницы, которая не найдена, есть ли где-то еще один RewriteRule, который сообщает, что просто «страница» должна быть обработана как «page.php» или что-то в этом роде?из рода?У вас есть файлы PHP, сохраненные без расширений?
Итак, ваша проблема в том, что вам определенно нужно убрать флаг [L]
, потому что вы говорите Apache не обрабатывать больше RewriteRules для этого запроса,поэтому он никогда не смотрит на переписывание WordPress, потому что это правило уже выполнено, и Apache сказали, что это должно быть окончательное правило.Я бы порекомендовал оставить [QSA]
в строке, однако это не повлияет на общий результат вашего сценария.