На данный момент у меня есть стандартная установка Wordpress 3.0, и файл .htaccess выглядит следующим образом:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Я хочу переписать URL-адреса, чтобы я мог предоставить некоторые автоматически сгенерированные страницы, нодержать его в рамках темы Wordpress.Например, переход к /event/123/
должен извлечь подробности для события # 123 из моей базы данных, без страницы, существующей в Wordpress.
Я думал, что смогу создать страницу "общего события" (например, /event/generic/
) в Wordpress, и он принимает параметр, такой как:
RewriteRule ^event/(\d+)/$ /event/generic/?q=$1 [L]
Однако, это, похоже, не работает, просто возвращает меня на страницу Wordpress 404.Я думаю, что я мог бы спросить много Wordpress здесь, но, конечно, это возможно?
Единственное другое решение, о котором я подумал, это взломать 404.php внутри темы.
Обновление
Мой .htaccess
выглядитнапример:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^eventtest/(\w+)/$ /events/event-single/ [L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Если я затем перейду к /eventtest/testing/
, то:
$_SERVER['REQUEST_URI'] is /eventtest/testing/
$_SERVER['REDIRECT_URL'] is /events/event-single/
Страница /events/event-single/
существует в Wordpress, но если я перейду к /eventtest/testing/
,Я получаю страницу 404.