2014-02-22 53 views
0

這個問題已被問及解決了很多次,但我遇到了一個通常的解決方案無法正常工作的例子;使用htaccess重定向目錄

嘗試和true:RedirectMatch 301 .*/author/.*$ /工作在一臺服務器上,但沒有另一臺服務器。

具體而言,我們需要將所有對WordPress作者檔案的請求重定向到網站的前端。在別的地方,人們問爲什麼會有人想這樣做。這超出了問題的範圍,但它隱藏了作者姓名。 CMS中存在系統選擇,但它們對於實際作者姓名(重定向到主頁)和沒有這樣的作者(未找到404頁面)的行爲不同。這是太多的線索。還有其他方法可以暱稱作者,但它們都是漏洞。

因此,我們在一臺Apache服務器上的所有站點上使用了上面的代碼,並且它像冠軍一樣工作。 on在nginx服務器上,我們嘗試了許多版本的重定向和重寫無濟於事。共享主機提供商沒有太大的幫助。

需要阻止http://domain.com/blog/author/name

http://domain.com/author/name

與其他東西相比:

RedirectMatch 301 .*/author/.*$/
+0

這其他的服務器有'的AllowOverride fileinfo'在設置你的htaccess文件(和'RedirectMatch')的目錄在? –

+0

沒有乾淨的方法來檢查這個共享服務器 - 但其他.htaccess重寫規則可以工作(例如'RewriteRule ./index.php [L]'),建議設置'allowoverride fileinfo'或'all'。 – zyghi

+0

如果你有其他規則,你確定那些不影響重定向(注意mod_alias(redirectmatch)是不同於mod_rewrite(rewriterule)的模塊,因此最終都被應用到相同的請求*) –

回答

0

如何:

RedirectMatch 301 ^/blog/author/ http://www.your-domain.com/ 
RedirectMatch 301 ^/author/ http://www.your-domain.com/ 
+0

你會這樣想,但是不... – zyghi