Использование .htaccess для перенаправления, если файл не найден в Wordpress - PullRequest
0 голосов
/ 04 ноября 2010

У меня есть проблема, когда мы объединяем веб-сайт с Wordpress. На веб-сайте есть множество новостей в каталоге "/ news", которые мы должны хранить. Когда мы добавляем CMS, скажем, «/ wordpress», мы можем установить базовый URL-адрес в корне каталога, поэтому, когда мы создаем новое сообщение в категории «новости», ссылка для него будет «/ news / this-is- the-post-title ", кроме НАСТОЯЩЕГО местоположения" / wordpress / news / this-is-the-post-title ". Поэтому моя проблема заключается в том, что мы хотим хранить все новости по URL-адресу "/ news", а в моей голове просто необходим .htaccess, чтобы сказать "если запрошенный URL-адрес не существует в каталоге / news, попробуйте / wordpress / новости ", и, конечно, если Wordpress ничего не находит, он может 404. Надеюсь, что это имеет смысл, спасибо!

Ответы [ 2 ]

0 голосов
/ 17 ноября 2010

Если вы используете только WordPress и статические ранее существующие каталоги и файлы (а не другую CMS, рядом с WordPress), вы, вероятно, можете просто следовать указаниям на , предоставляя WordPress свой собственный каталог .Все файлы WordPress отправляются на wordpress/, только index.php и .htaccess копируются обратно в корневой каталог.Стандартный .htaccess от WordPress уже имеет два правила RewriteCond, которые проверяют существующие файлы, поэтому, если запрос на news/happy-2010.html, и этот файл уже существует, ваш сервер просто обслужит это и не запустит WordPress.

0 голосов
/ 04 ноября 2010

Я не до конца понимаю, как проводятся оригинальные новости.Но, если они захвачены с помощью PHP, вы сможете перенаправить на /wordpress/news/post-title, если он не существует.

С другой стороны, если новости представляют собой статические файлы, вы можете проверить их с помощью.htaccess и убедитесь, что файл существует на сервере.

# Goes in the "news" directory
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /news

  # These make sure the file or directory doesn't exist
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d

  # Redirect to /wordpress/news/whatever-entered-goes-here
  RewriteRule ^(.*)$ /wordpress/news/$1 [L]
</IfModule>

Ссылка: http://www.addedbytes.com/cheat-sheets/mod_rewrite-cheat-sheet/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...