2013-10-22 76 views
2

我将使用Wordpress作为我的网站的新CMS,并且将为许多页面使用固定链接。问题是Wordpress之外有许多旧页面和文件需要保留在与永久链接重叠的目录中。例如,对于一个WP页面固定链接将在: http://www.domain.com/support/mod_rewrite重定向除目录本身之外的目录中的所有内容

但我有几个PHP应用程序和人/支持/目录需要由相同的URL访问中仍然使用其他文件。如果在永久链接的相同位置有一个目录,那么永久链接将被忽略。

我一直在研究这一点,发现我可以重命名物理目录(例如“A-support”),然后将除指向确切目录的url之外的所有内容重定向到新位置。

所以这不应该重定向:
http://www.domain.com/support/

但是,所有的这些都应该重定向到新的/ A支持/目录的位置: http://www.domain.com/support/page.html
http://www.domain.com/support/subdirectory/
http://www.domain.com/support/subdirectory/page.html

这里是。 htaccess规则我到目前为止似乎没有工作,因为它只会将所有内容直接重定向到/ A-support /文件夹中,而不适用于子目录:

RewriteCond %{REQUEST_URI} support/(.+)$ 
RewriteCond %{REQUEST_URI} !support/(.+)/$ 
RewriteRule ^support/(.+)$ http://www.domain.com/A-support/ [L] 

我看过的文档,但对我来说是比较混乱的功能,我似乎无法得到它的权利。

谢谢你的帮助!

+0

检查http://stackoverflow.com/questions/1848500/htaccess-mod-rewrite-how-to-exclude-directory-from-rewrite-rule和http://stackoverflow.com/questions/163302/how- do-i-ignore-a-directory-in-mod-rewrite – Peter

+0

嗨,彼得。这是一个不同的问题。我不想简单地忽略重写的目录,我希望目录中的所有内容都能够正确重定向,而不是完全到达目录位置的指定url。 – mjdth

+0

这些问题中的评论和答案回答了完全相同的问题。 – Peter

回答

1

试试这个:

RewriteRule ^support/(.+)$ http://www.domain.com/A-support/$1 [L] 

你缺少的主要事情是$1逆向引用。这不应该重定向/support/以及其中的任何内容。你不需要任何其他条件。

+0

非常感谢!看起来这是完美的。有时候我只是喜欢StackOverflow。 – mjdth

相关问题