重写 URL 但真正的 URL 改变
Rewrite URL but real URL change
我重写了下面的 URL 代码:
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.html$ /process.php?device=&url= [L]
当我访问:domain.com/test-125-ggg/data-259-data2.html 它工作但所有 link 在这个网站上都变成了 dommain.com/test-125-ggg/xxxxx
Ex : 域.com/test-125-ggg/images/logo.png 而不是域.com/images/logo.png
如何解决这个问题?
我想要访问域。com/process.php?device=$1&url=$2 它会自动重定向到域。com/zzz/xxx 但我不知道不知道该怎么做?
非常感谢
您可以使用:
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+process\.php\?device=([^\s&]+)&url=([^\s&]+) [NC]
RewriteRule ^ /%1/%2.html? [R=302,L,NE]
RewriteRule ^([^/]+)/([^/.]+)\.html$ /process.php?device=&url= [L,NC,QSA]
要解决其他问题,请在 css、js、图像文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以 http://
或斜杠 /
.
开头
否则您也可以尝试将此添加到页面 HTML 的 <head>
部分:<base href="/" />
这样每个亲戚 URL 是从 URL 解析的,而不是当前页面的 URL.
我重写了下面的 URL 代码:
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)\.html$ /process.php?device=&url= [L]
当我访问:domain.com/test-125-ggg/data-259-data2.html 它工作但所有 link 在这个网站上都变成了 dommain.com/test-125-ggg/xxxxx
Ex : 域.com/test-125-ggg/images/logo.png 而不是域.com/images/logo.png
如何解决这个问题?
我想要访问域。com/process.php?device=$1&url=$2 它会自动重定向到域。com/zzz/xxx 但我不知道不知道该怎么做?
非常感谢
您可以使用:
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+process\.php\?device=([^\s&]+)&url=([^\s&]+) [NC]
RewriteRule ^ /%1/%2.html? [R=302,L,NE]
RewriteRule ^([^/]+)/([^/.]+)\.html$ /process.php?device=&url= [L,NC,QSA]
要解决其他问题,请在 css、js、图像文件中使用绝对路径,而不是相对路径。这意味着您必须确保这些文件的路径以 http://
或斜杠 /
.
否则您也可以尝试将此添加到页面 HTML 的 <head>
部分:<base href="/" />
这样每个亲戚 URL 是从 URL 解析的,而不是当前页面的 URL.