我爲我的博客創建了一個URL重寫,但所有鏈接(如css,javascript)都因此而中斷。重寫中斷鏈接
如果不手動繼續通過在每個鏈接之前添加/來重命名所有鏈接,是否有反正在某種程度上在.htaccess文件中重寫它?這裏是我有:
RewriteRule ^blog/([-a-zA-Z0-9]+)/?$ blog.php?title=$1 [L,NC]
我爲我的博客創建了一個URL重寫,但所有鏈接(如css,javascript)都因此而中斷。重寫中斷鏈接
如果不手動繼續通過在每個鏈接之前添加/來重命名所有鏈接,是否有反正在某種程度上在.htaccess文件中重寫它?這裏是我有:
RewriteRule ^blog/([-a-zA-Z0-9]+)/?$ blog.php?title=$1 [L,NC]
通過在您的URL中添加額外的/
,瀏覽器不知道相對URL的基礎是什麼,所以它在之前附加/blog/
,每您在您的頁面內容中有相對URL鏈接。瀏覽器並不知道它實際上是從/blog.php
獲取內容,而這些內容位於文檔根目錄中,而不是出現在(至少在瀏覽器中)出現的名爲「blog」的文件夾中。
除了更改所有鏈接,就可以基本URI添加到您的網頁的標題:
<base href="/" />
注意,在某些情況下(我覺得跟老IE瀏覽器),你需要完整URL:
<base href="http://your-site.com/" />
隨着mod_rewrite
,您可以檢查是否在文件上您的網址點:
RewriteCond %{REQUEST_FILENAME} -f
或文件夾:
RewriteCond %{REQUEST_FILENAME} -d
這裏的.htaccess
你可能用途:
# if this url doesn't point on a file...
RewriteCond %{REQUEST_FILENAME} !-f
# ...and doesn't point on a folder...
RewriteCond %{REQUEST_FILENAME} !-d
# ...then check this rule
RewriteRule ^blog/([-a-zA-Z0-9]+)/?$ blog.php?title=$1 [L,NC]
哇!你每天都會學習新事物。多年來一直在研究html,從來沒有意識到有基地!今天幫助我解決了兩個問題,感謝好友繼續保持它。 :) –