我已经安装了一个具有组合函数的WP主题--这将创建/skills (用于类别)和/portfolio (用于条目)。冒着“破解”我无法理解的事情的风险,我把代码中的每一个“技能”都改为“射击”,有没有办法让mod_rewrite将/skills改为其他东西,并以其他方式显示出来(尽管实际的“静态url”仍然是技能?)
当前等级:
点击婚礼中的投资组合条目
理想情况是:
任何帮助都将不胜感激。
当前代码:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule /shooting/(.*)$ skills/$1 [L]
</IfModule>
# END WordPress不过,我认为它们都需要发挥作用,因为WP将继续在内部链接/skills/
发布于 2013-02-01 23:35:14
按照当前规则的工作方式,对/shooting/weddings的请求将发送到行RewriteRule . /index.php [L]中的index.php,随后的行将不会被读取。如果您将行RewriteRule ^shooting/(.*)$ /skills/$1移到两条RewriteCond行的上方,并将其修改为像我刚才所写的那样读取,那么/shooting/weddings就会悄悄地重写到/skills/weddings,然后将其输入到index.php。
编辑:下面更新的规则。最初我以为您只是想添加/shooting来响应与/skills一样的响应,而现在它也这样做了,但现在我认为您也希望加载/skills的人也被重定向到/shooting。技能RewriteRule将所有/skills流量重定向到/shooting。一旦用户被重定向,他们就会点击射击RewriteRule,然后静默地将它们重写到/skills,然后由WordPress获取。
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^skills/(.*)$ /shooting/$1 [R=301,L]
RewriteRule ^shooting/(.*)$ /skills/$1
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPresshttps://stackoverflow.com/questions/14655419
复制相似问题