2017-01-11 4 views
0

У меня возникли проблемы с переписыванием и перенаправлением моих URL-адресов. Это то, что я пытаюсь сделать:Перенаправление и переписывание динамического URL-адреса на статический URL-адрес дружественного SEO

В настоящее время у меня есть этот URL: domain.com/server.php?id=$1

У меня есть, что URL, выше которого переписывает на: domain.com/details/$1

Проблема, которую я имею, когда вы идете: domain.com/server.php?id=$1 он не перенаправляет на мой SEO-URL.

Кто-нибудь знает, почему?

Это мой текущий переписан для URL: RewriteRule ^details/(.*)/ server?id=$1 [L]

+0

Проверить 'virtualhost.conf' и' httpd.conf', обратите внимание на 'AllowOverride None'. Если вы видите это, измените его на 'AllowOverride All'. – mopsyd

+0

Rewrite! = Redirect –

+0

Я знаю, что переписать не то же самое, что перенаправление. У меня возникли проблемы с получением правильного кода перенаправления. – Luz1fer

ответ

0

Это мой, что я нашел работу для меня: # external redirect from actual URL to pretty one RewriteCond %{THE_REQUEST} \s/+server\.php\?id=([^\s&]+) [NC] RewriteRule^details/%1? [R=301,L,NE]

# internal forward from pretty URL to actual one RewriteRule ^details/([^/.]+)/?$ server.php?id=$1 [L,QSA,NC]

0

Используйте это:

RewriteEngine On 
RewriteRule ^details/([^/]*)$ /server.php?id=$1 [L] 

Это даст вам URL: domain.com/details/$1. Просто убедитесь, что вы очистили свой кеш, прежде чем тестировать его.

+0

Я только что попробовал код выше, и он не сработал. Я даже не мог использовать свой url domain.com/details/$1. У меня уже есть переписанный код, который является этим кодом: 'Опции + FollowSymLinks RewriteEngine on RewriteBase/ RewriteRule^details /(.*)/ server? Id = $ 1 [L]' У меня возникли проблемы с перенаправлением старого URL-адреса на новый, который я только что переписал. – Luz1fer

+0

переписывание обычно выполняется только в одном направлении, от SEO-friendly до «стандартного пути». Стандарт всегда будет работать! Для переадресации просто используйте ссылки, ориентированные на SEO. –