.htaccess 重写断开的链接
我为我的博客创建了一个URL重写,但所有链接(如css、href和javascript)都因此中断 如果不通过在每个链接之前添加/来手动继续重命名所有链接,那么在.htaccess文件中是否会以某种方式重写它?以下是我所拥有的:.htaccess 重写断开的链接,.htaccess,mod-rewrite,url-rewriting,.htaccess,Mod Rewrite,Url Rewriting,我为我的博客创建了一个URL重写,但所有链接(如css、href和javascript)都因此中断 如果不通过在每个链接之前添加/来手动继续重命名所有链接,那么在.htaccess文件中是否会以某种方式重写它?以下是我所拥有的: RewriteRule ^blog/([-a-zA-Z0-9]+)/?$ blog.php?title=$1 [L,NC] 使用mod_rewrite,您可以检查URL是否指向文件: RewriteCond %{REQUEST_FILENAME} -f 或文件夹:
RewriteRule ^blog/([-a-zA-Z0-9]+)/?$ blog.php?title=$1 [L,NC]
使用
mod_rewrite
,您可以检查URL是否指向文件:
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]
使用
mod_rewrite
,您可以检查URL是否指向文件:
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]
通过在URL中添加额外的
/
,浏览器不知道相对URL的基础是什么,因此它会在页面内容中的每个相对URL链接前面添加/blog/
。浏览器不知道它实际上是从/blog.php
中获取内容的,它位于文档根目录中,而不是(至少在浏览器看来)一个名为“blog”的文件夹中
您可以将基本URI添加到页面的标题,而不是更改所有链接:
<base href="/" />
请注意,在某些情况下(我认为使用旧的IE浏览器),您需要完整的URL:
<base href="http://your-site.com/" />
通过在URL中添加额外的
/
,浏览器不知道相对URL的基础是什么,因此它将/blog/
附加到页面内容中每个相对URL链接的前面。浏览器不知道它实际上是从/blog.php
中获取内容的,它位于文档根目录中,而不是(至少在浏览器看来)一个名为“blog”的文件夹中
您可以将基本URI添加到页面的标题,而不是更改所有链接:
<base href="/" />
请注意,在某些情况下(我认为使用旧的IE浏览器),您需要完整的URL:
<base href="http://your-site.com/" />
Wow!你每天都在学习新东西。多年来一直在研究html,但从未意识到有基础!今天帮我解答了两个问题,谢谢,伙计,继续问下去。:)哇!你每天都在学习新东西。多年来一直在研究html,但从未意识到有基础!今天帮我解答了两个问题,谢谢,伙计,继续问下去。:)