Видалення затяжного кінцевого рядка після RewriteRule


0

Я спробував все, але, здається, не все виходить правильно :( у мене понад 800 URL-адрес, і мені потрібно переписати їх, щоб вказати на простий pdf-файл. На даний момент у мене є посилання на:

http://subdomain.mydomain.com/?type=pdf&id=id123
http://subdomain.mydomain.com/?type=epub&id=id123

і мені це потрібно:

http://subdomain.mydomain.com/pdf/id123.pdf
http://subdomain.mydomain.com/epub/id123.epub

Я читав довідкові сторінки htaccess і rewriterule, але мені все ще щось не вистачає. Я не можу видалити кінцевий рядок (? Type = pdf & id = id123)

Ось що я маю:

RewriteCond %{QUERY_STRING} ^type=pdf&id=(.*)$ 
RewriteRule /?$ pdf/%1.pdf

І, звичайно, це неправильно виводить:

 http://subdomain.mydomain.com/pdf/id1234.pdf?type=pdf&id=id123

Я не можу позбутися ? Type = pdf & id = id123 наприкінці

Будь-яка допомога в правильному напрямку буде вдячна.

Відповіді:


0

Спробуйте додати рядкове скасування рядка запиту [QSD] :

RewriteRule /?$ pdf/%1.pdf [QSD]

Дякую, але це, схоже, не має ніякого значення: (я, здається, не можу отримати переадресацію, що працює через .htaccess локально - нічого не відбувається
Хезер Керріган Валентин

Ви також повинні мати можливість замінити рядок запиту, закінчивши заміну на ?(порожня рядок запиту). Щоб отримати деякий вихід налагодження для перезапису, встановіть конфігурацію LogLevel warn rewrite:trace8.
meuh
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.