2015-01-14 2 views
0

главный URLНевозможно Перепишите сервер URL Linux (URL переписывания)

http://wwww.domain-name.com/artwork_detail.php?artid=F3A5ACFA-6B12-D7A6-6637-03AC0F77E3E0 

.htaccess

Options +FollowSymLinks 
    RewriteEngine on 
    RewriteRule artwork_detail/artid/(.*)/ artwork_detail.php?artid=$1 
    RewriteRule artwork_detail/artid/(.*) artwork_detail.php?artid=$1 

Ожидаемый результат

http://wwww.domain-name.com//artwork_detail/artid/F3A5ACFA-6B12-D7A6-6637-03AC0F77E3E0/ 

Выходного тока

http://wwww.domain-name.com/artwork_detail.php?artid=F3A5ACFA-6B12-D7A6-6637-03AC0F77E3E0 

ответ

1

правил, которые вы переписываете свой ожидаемый результат к вашему основному URL. Каждое правило только имеет значение, оно переписывает «первый параметр» на «второй параметр», где первое представляет собой регулярное выражение, соответствующее запросу. Он ничего не делает о том, что должен делать вывод правила, если у вас нет правила, чтобы переписать его.

Кроме того, перезаписываются все внутренние серверы, браузер имеет Абсолютно без понятия URL-адрес переписывается. Тем не менее, внешние переадресации говорят браузеру «ваш последний запрос находится где-то в другом месте, иди здесь, чтобы добраться до него». Похоже, вы хотите, чтобы ваш основной URL-адрес был перенаправлен извне на ваш ожидаемый результат, а не внутренне переписан (хотя вам понадобятся их для внутренней перезаписи их назад на главный URL-адрес, чтобы можно было работать на любой из ваших страниц).

Так что используйте вместо этого:

Options +FollowSymLinks -Multiviews 
RewriteEngine on 

RewriteCond %{THE_REQUEST} \ /+artwork_detail\.php\?artid=([A-Z0-9-]+) 
RewriteRule^/artwork_detail/artid/%1/? [L,R] 

RewriteRule ^artwork_detail/artid/([A-Z0-9-]+)/? /artwork_detail.php?artid=$1 [L]