【问题标题】:.htaccess & WordPress url rewrite that shows /subdirectory/username but serves /subdirectory/.htaccess 和 WordPress url 重写显示 /subdirectory/username 但服务于 /subdirectory/
【发布时间】:2013-12-10 19:15:53
【问题描述】:

我正在处理的 WordPress 网站有一个独特的问题。我的客户想要一个让人们获得“自定义”或“虚荣”网址的促销活动,但所有网址都只是转到同一个 WordPress 页面。

启用 WordPress 漂亮网址后,需要在地址栏中显示的网址如下所示:

example.com/subpage/username

但是,它只会提供此页面:

example.com/subpage/

最接近的解决方案I found 建议我在下面的 .htaccess 代码中添加类似于第 6 行的内容。这以重定向到 example.com/subpage/ 的方式起作用,但不会将用户名保留在 url 中。我被困在如何做到这一点上。这是我现在的 .htaccess 代码。

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^survey/. /index.php?p=370 [L,QSA]
RewriteRule . /index.php [L]

【问题讨论】:

    标签: wordpress apache .htaccess mod-rewrite subdirectory


    【解决方案1】:

    看到后台是WP,你最好使用插件添加重写规则:

    http://codex.wordpress.org/Rewrite_API/add_rewrite_rule

    引用文档:

    示例

    假设您正在创建一个“营养”页面来显示营养信息。此页面使用自定义模板并采用两个变量,食物和品种。您可以设置重写规则来创建一些自定义的漂亮 URL,而不是将丑陋的查询字符串变量传递给页面。见下文...

    add_rewrite_rule('^nutrition/([^/]*)/([^/]*)/?','index.php?page_id=12&food=$matches[1]&variety=$matches[2]','top');
    

    【讨论】:

    • 谢谢丹尼斯,我知道了
    • 我将它添加到主题的 funtions.php 文件中,起初它什么也没做。 add_rewrite_rule('directoryname/([^/]+)/?$', 'index.php?page_id=IDHERE', 'top'); 我发现另一篇文章建议我刷新 WP 规则缓存,然后它工作了! link
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 2017-03-04
    • 1970-01-01
    • 2011-02-28
    • 2013-04-15
    • 2018-04-28
    相关资源
    最近更新 更多