Dynamic 301 Redirect Борьба с Wordpress - PullRequest
1 голос
/ 20 апреля 2011

Это продолжение другого вопроса, который я задавал ранее ( Более ранний вопрос перенаправления ).Мой корень .htaccess имеет несколько правил в этом формате:

RewriteCond %{REQUEST_URI} ^/leadership/detail/$
RewriteCond %{QUERY_STRING} q=([0-9]+)$ 
RewriteRule ^(.*)$ /$1?p=%1 [L,R=301]

Но когда я попытался добавить это:

RewriteCond %{REQUEST_URI} ^/blog/detail/$
RewriteCond %{QUERY_STRING} q=([0-9]+)$ 
RewriteRule ^(.*)$ /$1?p=%1 [L,R=301]

Это не сработало./ blog / - это установка Wordpress, и я думаю, что она конфликтует с файлом .htaccess, который находится в / blog / и содержит следующее:

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

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>

# END WordPress

Где можно вставить (или отредактировать) фрагмент кода #2 в файле /blog/.htaccess, чтобы он работал правильно?

1 Ответ

0 голосов
/ 20 апреля 2011

Создайте свой комбинированный .htaccess так:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On

RewriteCond %{REQUEST_URI} ^/blog/detail/$
RewriteCond %{QUERY_STRING} q=([0-9]+)$ [NC]
RewriteRule ^(.*)$ /blog/$1?p=%1 [L,R=301]

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

# END WordPress
...