2011-07-13 31 views
0

我正在使用PHP,MYSQL 我已經做了一些研究,發現相關鏈接受網址寫入方式的影響(我有點認爲它無論如何,出於本能)。
我的圖片在這樣圖像/分類/ image1.jpg網站的根文件夾舉行
舊網址:www.mysite.com/mypage.php?this=1 &是= 2
新網址:www.mysite.com/keywords/this/thatURL重寫,瀏覽器找不到我的縮略圖

如何使相對路徑考慮舊URL或是否有方法將所有圖像請求重定向到我的圖像文件夾(也可以在.htaccess中)。或任何其他解決方案。

我熱衷於相對路徑,沒有絕對的路徑解決方案,請

+0

使用'RewriteCond%{DOCUMENT_ROOT}/files /%{SCRIPT_FILENAME}!-f'來處理到現有文件的路由? –

+0

我的.htaccess目前很簡單,就像這樣:RewriteEngine On RewriteRule^page_name /([0-9-/|] +)/([0-9 - ] +)/?$ /Page.php?page=$1&articles = $ 2 [NC,L]。 – Raul

回答

1

將以上RewriteRule線使現有的文件不會受規則影響此鏈接:

RewriteCond %{REQUEST_FILENAME} !-f 

還有其他的你可以使用:

RewriteCond %{REQUEST_FILENAME} !-d # Not directory 
RewriteCond %{REQUEST_FILENAME} !-l # Not Symlink 

更多信息以http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

+0

我必須爲每個重寫規則添加此RewriteCond%{REQUEST_FILENAME}!-f,還是隻需要在文件頂部添加一次? – Raul

+0

您需要爲每個RewriteRule添加它,因爲它們是分別處理的 – adlawson

+0

在單獨的註釋中;如果你從頭開始構建網站/框架,那麼使用PHP處理路由可能會更好。爲此,您可以通過執行'RewriteRule ^。* $ index.php [NC,L]'將所有請求(不是文件/目錄和其他條件)發送到index.php。這樣你只需要在htaccess中有一條規則,對安全性和性能來說就好多了。 – adlawson