Проблема: мод переписан с Wordpress - PullRequest
0 голосов
/ 02 декабря 2011

В настоящее время я кодирую сайт кампании и отправляю переменную get с именем "id" на страницу индекса следующим образом: http://www.example.com/campaign/?id=4ed8854ff2a9

Вместо отображения переменной get, я хотел бычтобы отобразить ссылку так: http://www.example.com/campaign/share/4ed8854ff2a9

Это мой текущий .htaccess, сгенерированный Wordpress:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteBase /campaign/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /campaign/index.php [L]
</IfModule>

# END WordPress

Как мне сделать эту работу, я пыталсязаставить его работать все утро, но безуспешно.

Заранее спасибо // Jonathan

РЕДАКТИРОВАТЬ: Я только что попытался переписать ниже, но это тоже не сработало.

RewriteRule ^share/([0-9a-zA-Z]+)?/?$ /index.php?id=$1 [QSA]

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 03 декабря 2011

Вот моя собственная попытка:

http://www.example.com/campaign/share/4ed8854ff2a9

следует переписать в:

http://www.example.com/campaign/?id=4ed8854ff2a9

Таким образом, ваши правила переписывания могут выглядеть следующим образом:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule campaign/index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^campaign/share/([a-z0-9]+) /campaign/index.php?id=$1 [QSA,L]
</IfModule>

NB. Я удалил RewriteBase /campaign/, потому что не вижу смысла в этих правилах Пожалуйста, скажите мне, если это работает.

0 голосов
/ 02 декабря 2011

Я не очень хорош в этом, просто пытаюсь.Не уверен, что это правильно.Пожалуйста, кто-нибудь исправит меня, если это не так.тогда должно быть:

RewriteRule /share/.+$ /?id=$1 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...