【问题标题】:Can i add .htaccess for specific page in child theme using wordpress?我可以使用 wordpress 在子主题中为特定页面添加 .htaccess 吗?
【发布时间】:2016-08-04 06:03:10
【问题描述】:

我正在尝试为 wordpress 子主题中的特定页面添加 .htaccess。实际上,我正在将 url 中的类别 slug 发送到custompostpage.php,按类别 slug 显示帖子。为了获取类别 slug,我在 url 末尾使用cp= 操作。

http://example.com/demo/project/custom-post-page/?cp=search-engine-marketing

功能运行良好.. 但我想删除 ?cp= 以用于 SEO 目的。对于我正在使用的任务.htaccess

<IfModule mod_rewrite.c>
  RewriteCond %{REQUEST_FILENAME} !-d 
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^custom-post-page/([^.]*)$ custom-post-page?cp=$1 [QSA,L]
</IfModule>

但它不起作用。我在子主题中上传了这个 .htaccess 文件(custompostpage.php 的相同路径)。

谁能指导我是否可以使用 wordpress 在子主题中添加 .htaccess 文件?如果是,那么我在编码中做错了什么。如果有人指导我,我将不胜感激。谢谢你

【问题讨论】:

    标签: php wordpress .htaccess


    【解决方案1】:

    重写规则需要修复,因为您的 url 不是以 custom-post-page 开头的

    <IfModule mod_rewrite.c>
      RewriteCond %{REQUEST_FILENAME} !-d 
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteRule ^(.*)custom-post-page/([^\.]*)$ $1custom-post-page?cp=$2 [QSA,L]
    </IfModule>
    

    【讨论】:

    • 感谢分享知识,但仍然没有任何反应。我添加了您的代码,但不起作用。
    • 在您的原始示例中,([^.]*) 是错误的,因为它排除了任何内容(点),您忘记转义 ([^\.]*)。我修复了我的例子,现在应该可以工作了。如果您可以控制 Apache 服务器,我推荐 debugging the rewrite
    • 感谢您的回答,但.htaccess 文件不起作用。什么都没有发生。我将此文件放在custompostpage.php 所在的同一路径上...
    • 如果您使用的是 Wordpress,您需要编辑已经存在的 .htaccess 并添加 RewriteRule
    猜你喜欢
    • 1970-01-01
    • 2016-05-11
    • 2011-05-24
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多