[英]URL folder hierarchy changes using mod_rewrite in .htacess file
我用 php 創建了一個網站,並在我的 htdocs 文件夾中寫了 .htacess 文件:
RewriteEngine on RewriteBase / RewriteRule ^([a-zA-Z0-9]+)/?$?mainquery=$1 [QSA] RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$?mainquery=$1&subquery=$2 [QSA]
我的意圖是重定向 url:
'/A/B' => '/?mainquery=A&subquery=B'。
如果主要查詢是一個,則一切正常。
但是當 url 有兩個查詢時,php 工作正常,但文件夾層次結構移動,因此每個圖像和 css 具有相對 url 的文件都不起作用。
它工作正常
(我正在 MAMP 上構建我的 web,所以域現在是本地主機。)
'localhost/publications/articles' => 'localhost/?mainquery=publications&subquery=articles'
, not just .但是 html 認為主要的 url 是 ,而不僅僅是 。
所以每個具有 src 屬性的 img 標簽
img src='圖片/myImage.jpg'
, not .不起作用,因為 html 認為圖像在中,而不是中。
css 文件也是如此。
我正在拉頭發3天,但我自己無法解決。
我怎么解決這個問題?
更改此行:
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ ?mainquery=$1&subquery=$2 [QSA]
對此:
RewriteRule ^([a-zA-Z0-9]+)/([a-zA-Z0-9]+)$ /?mainquery=$1&subquery=$2 [QSA]
重寫的規則需要是根目錄相關的,否則它將與請求的 URL 相關,它已經在一個子文件夾中。
我想這就是你要問的。 如果你只是問如何指向 images/css/js root-relative,改變這個:
<img src="images/myImage.jpg" />
對此:
<img src="/images/myImage.jpg" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.