【问题标题】:Wordpress redirect htaccessWordpress 重定向 htaccess
【发布时间】:2011-06-07 09:24:24
【问题描述】:

我在 wordpress 中的 htaccess 文件有问题。我想将来到 /wp-login.php?action=register 的用户重定向到另一个带有角色参数的注册表单。像这样 /wp-login.php?action=register&role=patient。所以我想对用户隐藏第一个网址。我在我的 htaccess 中写了这一行。

RewriteRule ^wp-login.php?action=register$ /wp-login.php?action=register&role=patient [NC,L]

它位于我的文件中:

<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /
RewriteRule ^wp-login.php?action=register$ /wp-login.php?action=register&role=patient [NC,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

</IfModule>

我对此没有任何影响。我在这里做错了什么?

【问题讨论】:

    标签: wordpress .htaccess


    【解决方案1】:

    你必须匹配RewriteCond中的查询字符串:

    RewriteCond %{QUERY_STRING}  ^action=register$
    RewriteRule ^wp-login[.]php$ /wp-login.php?action=register&role=patient [R,NC,L]
    

    编辑:更正了我的答案

    【讨论】:

    • RewriteRule ^wp-login.php[?]action=register$ /wp-login.php?action=register&role=patient [NC,L] 我将它插入同一行,但没有任何改变...同样的问题...
    • 谢谢,我在阅读文档时找到了该解决方案,并看到了有关 QUERY_STRING 的信息 :) 无论如何,感谢您的帮助!
    • @numediaweb 您的问题可能有所不同,您可以随时在 StackOverflow 上提出新问题
    【解决方案2】:

    另一个问题和解决方案涉及htaccess: 当您的网站位于从中获取 Wordpress 安装的主机提供商处时,您的 WP 可能不在根目录中,而是在名为 Wordpress-xxxx 的目录中

    例如:您的网址是:http://website.com

    所以你的路径是:http:/website.com/wordpres-xxx/file xxx 但是,大多数提供商在后台使用重定向,因此您的访问者似乎直接转到 http://website.com

    对于 htaccess,这是一个问题。如果您查看您的 WP 目录,您会发现 htaccess 和一个很好的更改,它具有正确的格式。但是,您的根目录下还有另一个 htaccess。通常您无法更改此设置,因为出于安全原因,您的提供商会出于任何修改而阻止它。

    这就是您的访问者无法在您的网站上找到您的页面 (404) 的原因,因为您根目录中的那个 htaccess 文件没有改变。

    您必须要求您的提供商同步这两个 htaccess 文件。 WP中的那个应该被复制/覆盖你真正根目录中的那个。

    解决问题

    【讨论】:

    • 这是否记录在任何地方?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-06
    • 2016-12-28
    • 2013-02-28
    • 2015-01-29
    • 2013-09-22
    • 1970-01-01
    相关资源
    最近更新 更多