2013-05-21 2 views
0

Это либо ослепительно просто или невозможно; после многих поисков в Google и нить, я не могу сказать.Mod_write, htaccess и Wordpress slugs

У меня есть сайт WordPress, который использует плагин для создания настраиваемого типа сообщений. Это связано с тем, что пользовательский тип сообщения имеет очень уродливое «slug». Что это означает, что URL-адрес выглядеть следующим образом:

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

Где «uglyname» уродливое имя. Я не могу изменить имя без редактирования основных файлов плагина, что является плохой идеей в этом контексте.

То, что я хотел бы сделать, это сделать так, что если пользователь посещает URL, как это:

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

Wordpress интерпретирует prettyname, как это будет uglyname и более или менее nonethewiser.

Я не хочу что-то, что просто перенаправляет; Я бы хотел, чтобы это было тихое картографирование. Но имейте в виду, что Wordpress уже использует файл .htaccess для сопоставления всего, что попадает на http://mysite.org/index.php.

Возможно ли это, или я просто лаю по неправильному дереву?

EDIT добавить: текущий .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

Дайте нам текущий .htaccess – vmeln

+0

Я добавил его выше. – nucleon

ответ

0

Чуть выше RewriteCond %{REQUEST_FILENAME} !-f, попробуйте следующую строку:

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

Если я не ошибаюсь, он должен пройти он закончил, а затем все еще обрабатывает маршрутизацию index.php.

Не протестировали его - не на сервере прямо сейчас.