这简单或不可能;经过大量的谷歌搜索和线程阅读后,我无法分辨。
我有一个WordPress网站,它使用插件来创建自定义帖子类型。这就是自定义帖子类型有一个非常丑陋的“slu”“。这意味着URL看起来像这样:
http://mysite.org/uglyname/a-post-title/
“uglyname”是一个丑陋的名字。我不能在不编辑插件的核心文件的情况下更改名称,这在这种情况下是个坏主意。
我想要做的是,如果用户访问这样的网址:
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
答案 0 :(得分:0)
在RewriteCond
%{REQUEST_FILENAME} !-f
之上,尝试以下行:
RewriteRule ^prettyname/(.+)/? /uglyname/$1
如果我没有弄错的话,它应该将其传递掉,然后仍然处理index.php
路由。
没有测试过 - 现在不在服务器上。