url使用htaccess重写来强制加载index.php

时间:2013-09-26 22:09:26

标签: wordpress apache .htaccess mod-rewrite url-rewriting

我正在尝试为我的wp网站制作一个用户友好的作者页面网址。目前我所做的是我在我的根主题文件夹下创建了一个名为author的文件夹,并且我已将我的作者页面标记文件(index.php)放在此文件夹中。

我还有一个插件“Easy url rewrite”,我用它来www.sitename.com/author请求加载<theme dir>/author/index.php文件。它工作正常。

现在我希望任何www.sitename.com/author/<anyname>也加载我的index.php文件。

我可以使用.htaccess规则来实现吗? .htaccess规则是否与我的url-rewrite插件冲突?(哪一个会首先被执行?)我是否可以仅使用.htaccess规则实现这一切(即,不使用插件重写)如果是这样,我有什么规则需要写入.htaccess文件吗?

谢谢!非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

  

.htaccess规则是否与我的url-rewrite插件冲突

是的,可能。

  

首先执行哪一个?

首先执行htaccess规则,但这是wordpress如何工作的一部分。有一些规则基本上将所有发送到wordpress'控制器,然后wordpress从那里处理它。

  

我可以仅使用.htaccess规则来实现这一切吗

这取决于。您的页面是由wordpress生成的还是仅仅是一个页面本身与wordpress分开?如果它是前者,你将需要处理一些更简单的url重写规则,如果作者页面与wordpress分开,那么你可以完全用htaccess完成。

如果是这种情况,我猜这些规则看起来像是:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^author/(.*)$ /themedir/author/index.php [L]

这些规则需要在您的文档根目录中的htaccess文件中的任何wordpress规则之前。