2017-09-27 71 views
1

我目前正在嘗試從一個非常舊的網站添加一些重定向,這些網站包含PDF,並且其中一些PDF使用了括號來包含這些年份。.htaccess - >在重寫字符串中不能轉義的字符「(」「)」

例如:

/document%2070C11-name%20(2012).pdf 

所以我想重定向的完整URL是:

https://website.co.uk/document/1/document%2070C11-name%20(2012).pdf 

我對這個網站,但那些有特殊字符前面的設置許多不同的重定向似乎造成問題。

這裏是什麼,我都試過了,並與迄今未能例子:

RewriteEngine on 
RewriteBase/

RewriteRule ^document/1/document%2070C11-name%20\(2008\).pdf$ document/newurl/ [R=301,L] 
RewriteRule ^document/1/document%2070C11-name%20(.*)2008(.*).pdf$ document/newurl/ [R=301,L] 

所以,我想逃避的性格和只是想通配符。似乎在我的Apache服務器上工作。我使用的代碼卻似乎在工作的時候測試了:

http://htaccess.madewithlove.be/

但我現在很堅持,他會喜歡任何幫助我能。

感謝, 凱恩

回答

1

以匹配URL %MN性格,你需要在RewriteRule模式使用\xMN

因此這個規則應該爲你工作:

RewriteRule ^document/1/document\x2070C11-name\x20\(2008\)\.pdf$ /document/newurl/ [R=301,NC,NE,L] 

這將重定向到https://website.co.uk/document/1/document%2070C11-name%20(2008).pdfhttps://website.co.uk/document/newurl/

+1

謝謝@anubhava。你是英雄。 –