我正在尝试转换我的应用链接,以便像这样的链接:
http://localhost/index.php?id=13&category=Uncategorized&title=just-a-link
转换为:
http://localhost/13/Uncategorized/just-a-test
到目前为止我能够使用:
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ /index.php?id=$1&category=$2&title=$3 [QSA,L]
但是它会完全断开与css和其他文件的链接,因为它会将每个带有查询的请求重定向到index.php
所以我稍微改了一下,以便它只在第一个查询是一个数字时运行:
RewriteEngine On
RewriteRule ^([0-9]*)/([^/]*)/([^/]*)$ /index.php?id=$1&category=$2&title=$3 [QSA,L]
这个文件不会破坏css和js文件,但是当您转到示例http://localhost/13/cat/test
的链接时,请尝试转到其他链接,例如http://localhost/19/Uncategorized/something
,方法是点击它上一页它会将您重定向到http://localhost/13/Uncategorized/19/Uncategorized/just-a-test
如何在没有任何这些奇怪副作用的情况下实现我所描述的内容?
答案 0 :(得分:2)
使用:
RewriteEngine On
RewriteRule ^([0-9]+)/([^/.]+)/([^/.]+)/?$ /index.php?id=$1&category=$2&title=$3 [QSA,L]
并将此代码添加到html <header>
:
<base href="/">
OR
<base href="http://www.domain.com/">
修复相对css和js链接