1

这要么非常简单,要么不可能;经过大量的谷歌搜索和线程阅读,我不知道。

我有一个使用插件创建自定义帖子类型的 WordPress 网站。问题在于自定义帖子类型有一个非常难看的“slug”。这意味着 URL 看起来像这样:

http://mysite.org/uglyname/a-post-title/

其中“uglyname”是一个丑陋的名字。如果不编辑插件的核心文件,我就无法更改名称,这在这种情况下是个坏主意。

我想做的是,如果用户访问这样的 URL:

http://mysite.org/prettyname/a-post-title/

Wordpress 将 prettyname 解释为丑名,并且或多或少都不是那么明智。

我不想要只是重定向的东西;我希望它是一个静默映射。但请记住,Wordpress 已经在使用 .htaccess 文件将它获取的所有内容映射到http://mysite.org/index.php

这是可能的,还是我只是在吠叫错误的树?

编辑添加:当前 .htaccess 是 WordPress 默认值:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /mysite.org/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /mysite.org/index.php [L]
</IfModule>

# END WordPress
4

1 回答 1

0

就在上面RewriteCond %{REQUEST_FILENAME} !-f,尝试以下行:

RewriteRule ^prettyname/(.+)/? /uglyname/$1

如果我没记错的话,它应该通过它,然后仍然处理index.php路由。

尚未对其进行测试-现在不在服务器上。

于 2013-05-21T20:06:29.447 回答