Wordpress пользовательский mod_rewrite - totalnoob? - PullRequest
0 голосов
/ 28 октября 2011

Я пытаюсь создать собственное правило mod_rewrite для моей установки WordPress, у меня уже есть собственное правило для структуры моей страницы, которое я хотел бы сохранить.

Новое пользовательское правило, которое я хотел бы создать, - это когда есть переменная get, например: www.mysite.com/?profile=username

Я хочу, чтобы это выглядело так: www.mysite.com/username

Это мой текущий файл .htaccess:

# 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]
</IfModule>
# END WordPress

Я посмотрел php.net и много уроков о переписывании модов в целом и специально для WordPress, но все это происходит прямо у меня над головой, я не понимаю этого. Если бы кто-нибудь мог мне помочь, чтобы добиться некоторого прогресса в этом, я был бы очень признателен, я бы очень хотел разобраться с mod_rewrite.

Я предполагаю, что мне нужно создать новый RewriteRule, но это все, что я получаю.

Спасибо Фрэнк

1 Ответ

0 голосов
/ 28 октября 2011

Выполнить то, что вы хотите достичь, трудно, если не сказать больше.Для анализа входящих запросов требуется дополнительный файл PHP, потому что .htaccess не может определить, является ли часть URL-адреса USERNAME фактически именем пользователя или нет.

Файл PHP, который я упомянул, будет загружать таблицу пользователей избазу данных и сравните $ _GET ['profile'] с записями и, при совпадении, переписайте в /? profile = USERNAME

Если совпадений нет, он просто переходит к index.php.

Однако, здесь есть гораздо более простое решение, которое сохраняет многое из того, что вы хотите:

RewriteRule ^profile/([^/]+)$ ?profile=$1 [L]

Для этого нужно переписать из / profile / username в /? Profile = username

Это не совсем то, что вы ищете, но гораздо проще в реализации.Правило должно идти прямо под RewriteRule ^index\.php$ - [L] в файле .htaccess.

Если у вас есть какие-либо вопросы, я с радостью объясню, что здесь происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...