我有一个问题,我们正在与Wordpress合并一个网站。该网站在“/ news”目录中有大量新闻报道,我们需要保留。当我们在说“/ wordpress”添加CMS时,我们可以将基本URL设置为目录的根目录,因此当我们在“新闻”类别中创建新帖子时,它的链接是“/ news / this-is-后标题“,除了真实的位置是”/ wordpress / news / this-is-the-post-title“。所以我的问题是我们希望将所有新闻故事保存在“/ news”URL,在我的脑海中,我们只需要.htaccess说“如果请求的URL不存在于/ news目录中,请尝试/ wordpress / news“,当然如果Wordpress没有找到任何东西,它可以404.希望这有道理,谢谢!
答案 0 :(得分:0)
我不完全了解原始新闻报道是如何举行的。但是,如果它们被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/
答案 1 :(得分:0)
如果您只使用WordPress和静态预先存在的目录和文件(而不是WordPress旁边的其他CMS),您可以按照giving WordPress its own directory上的说明进行操作。所有WordPress文件都转到wordpress/
,只有index.php
和.htaccess
被复制回根目录。来自WordPress的标准.htaccess
已经有两个RewriteCond
规则来检查现有文件,因此如果请求是news/happy-2010.html
并且此文件已经存在,那么您的服务器将只提供此服务而不是启动WordPress。