Премествам уебсайт към wordpress, но искам да запазя текущата URL структура за целите на SEO.
Текущият сайт използва комбинация от .htm и .html файлове. Успях да пренасоча към .htm, когато заявката е .html.
Например
RedirectMatch 301 (.*)\wp-site/mywebpage.html$ http://www.mydomain.com/wp-site/mywebpage.htm
Имам проблем със следното:
когато .html файлът има главни и малки букви. Изглежда не мога да намеря решение за пренасочване на всяка заявка въпреки случая към нейния .htm еквивалент
Например: My-Posts/Alpha-Page.html трябва да пренасочва към my-posts/alpha-page.htm или MY-POSTS/ALPHA-Page.html пренасочва към my-posts/alpha-page.htm (или някое от "my-posts/alpha-page", който съдържа главни букви. общо взето всички заявки въпреки малките букви трябва да пренасочват към всички малки букви .htm файл)
Знам, че е малко трудно, защото е комбинация от 1) пренасочвам към .htm и 2) за нечувствителност към главни и малки букви.
Няколко неща, които трябва да имате предвид:
- Знам, че публикациите в Wordpress не са чувствителни към главни и малки букви. Статичните страници на Wordpress са чувствителни към главни и малки букви.
- Знам, че RedirectMatch няма да работи, защото съвпада точно с него.
- Вярвам, че трябва да използвам RewriteCond и RewriteRule, но изглежда не мога да намеря „добри“ обяснения стъпка по стъпка. Също така, не разбирам техните променливи (т.е.: %{HTTP_HOSTS}) и конвенцията за регулярни изрази.
- По никакъв начин не съм експерт по Apache/.htaccess или регулярни изрази.
Теоретично изглежда, че трябва да има начин да работи. Ще продължа да виждам дали мога да намеря решения тук в stackoverflow или други външни ресурси и ако намеря решение тук в stackoverflow, ще маркирам това като решено и ще го премахна.
Всяка помощ се оценява!
Благодаря
АКТУАЛИЗАЦИЯ 17.06.2011 г.:
Ето текущия ми .htaccess файл
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wp-test-2011-06-13/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wp-test-2011-06-13/index.php
RedirectMatch 301 (.*)\wp-test-2011-06-13/redirect.html$ http://www.mydomain.com/wp-test-2011-06-13/redirect.htm
RewriteRule ^ORLANDO-criminal-defense-attorney/defense-attorney-NEJAME.html$ /orlando-criminal-defense-attorney/defense-attorney-nejame.htm [QSA,NC,R=301]
</IfModule>
# END WordPress
АКТУАЛИЗАЦИЯ 20.06.2011 г.:
Ето текущия ми .htaccess файл:
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteBase /wp-test-2011-06-13/
RewriteRule ^/wp-test-2011-06-13/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* /wp-test-2011-06-13/index.php
RedirectMatch 301 (.*)\wp-test-2011-06-13/redirect.html$ http://www.mydomain.com/wp-test-2011-06-13/redirect.htm
RewriteRule ^ORLANDO-criminal-defense-attorney/defense-attorney-NEJAME\.html$ /orlando-criminal-defense-attorney/defense-attorney-nejame.htm [QSA,NC,R=301]
</IfModule>
# END WordPress
Получавам страница на Wordpress „Страницата не е намерена“, когато пиша http://www.mydomain.com/wp-test-2011-06-13/ORLANDO-criminal-defense-attorney/defense-attorney-NEJAME.html ( или еквивалент с малки букви с .html)
code
RewriteCond %{REQUEST_URI} ^section/individual-page.html [NC] RewriteRule ^(.*)$ mydomain.com/wp-install/section/individual-page.htm/$1 [L,R=301] Мисля, че съм на прав път. [NC] трябва да игнорира малки и големи букви, нали? - person user801816   schedule 17.06.2011