【问题标题】:url rewrite using htaccess to force load index.php使用 htaccess 重写 url 以强制加载 index.php
【发布时间】:2013-10-03 02:10:25
【问题描述】:

我正在尝试为我的 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 文件吗?

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

【问题讨论】:

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


【解决方案1】:

.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 规则之前。

【讨论】:

    猜你喜欢
    • 2012-01-06
    • 1970-01-01
    • 1970-01-01
    • 2013-04-04
    • 2013-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多