У меня есть список URL-адресов, таких как,Htaccess и URL переписывания
http://www.mywebsite.com/page.php?genus=A_GENUS&species=A_SPECIES&id=12345
.
Я хотел бы написать .htaccess, который постоянно перенаправляет посещения этой формы URL к следующему URL-адресу,
http://www.mywebsite.com/species/A_GENUS/A_SPECIES
.
Возможно ли это сделать без необходимости вручную перечислять каждый вид в базе данных?
Я попытался найти его, но моя голова находится на земле WordPress-Custom-Post-Type, и поэтому мой мозг работает неправильно. Любая помощь будет принята с благодарностью.
EDIT: Разъяснение
В настоящее время мой .htaccess совершенно пуст. Я переписываю свой сайт, чтобы использовать совершенно новую CMS и этот новый формат URL. Старый формат URL перестанет существовать, но вся информация будет по-прежнему использоваться.
Мы очень высоко оцениваем множество видов в Google, и мне бы хотелось, чтобы посетители там могли просматривать необходимую информацию, несмотря на изменение формата URL.
Эти изменения еще не произошли (по-прежнему используют среду Sandbox для новой версии сайта), и я хотел бы изменить URL-адрес непосредственно перед тем, как «перейти вживую» с новой версией.
EDIT 2: Новый сайт .htaccess
Содержимое .htaccess нового сайта выглядит в полном объеме:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sandboxfolder/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /sandboxfolder/index.php [L]
</IfModule>
# END WordPress
EDIT для ответа Garmen в
RewriteEngine On
RewriteBase /sandboxfolder/
RewriteCond %{QUERY_STRING} genus=([a-zA-Z0-9-]+)&species=([a-zA-Z0-9-]+)
RewriteRule ^profile.php$ /species/%1/%2 [R=302]
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sandboxfolder/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /sandboxfolder/index.php [L]
</IfModule>
# END WordPress
Не уверен, что я правильно использовал RewriteBase там, но он не кажется функциональным с или без него.
Привет,
В чем состоит ваш htaccess? Старинный url все еще работает? Является ли новый URL-адрес уже переписан (внутренним) на старый? – Gerben
Извините, Гербен, я обновлю свой пост соответственно. – dunc
Будет ли новый CMS не использовать какой-либо htaccess? Всегда ли параметры url в этом порядке, когда ссылки созданы на старом сайте? – Gerben