用htaccess解决缩短网址

时间:2015-08-22 11:28:24

标签: .htaccess

我已经使用htaccess重写了我的URL。导航到页面后,布局失真,没有打印出从数据库中取出的值。这是主要的URL

http://www.deffsale.com/personalBusiness/PersonalBusiness.php?item=ladys%20Fashion&page=1

我正在使用这个

导航到此页面

http://www.deffsale.com/personalBusiness/all/ladys-Fashion/1

这是我的ht-access

RewriteEngine On

RewriteRule  ^About-us AboutUs.php [NC,L]
RewriteRule  ^personal-business personalBusiness [NC,L]
RewriteRule ^personalBusiness/all/([0-9a-zA-Z_-]+)/([0-9]+) personalBusiness/PersonalBusiness.php?item=$1&page=$2 [NC,L]

请帮助我解决这个问题,因为这是一个过去三个月的骚乱

2 个答案:

答案 0 :(得分:1)

这是与CSS和与重写规则相关的图像的路径问题。在其他规则之前添加这样的规则:

RewriteRule \.(js|css|jpe?g|png|gif)$ - [L] 

将允许这些请求未经修改地传递。

此外,请确保JavaScript,CSS和图像文件的URL相对于DocumentRoot进行编码。例如,如果您的文件组织如下:

/ - index.php
  + css
     + base.css
     + color.css
  + images
     + logo.png

样式标签将是:

<link rel="stylesheet" type="text/css" href="/css/base.css">
<link rel="stylesheet" type="text/css" href="/css/color.css">

图像将是:

<img src="/images/logo.png" alt="logo">

正如其他受访者建议的那样,您可以使用带有相对URL的基本标记。在这种情况下,您可以对代码进行编码,如:

<base href="/">
<link rel="stylesheet" type="text/css" href="css/base.css">
<link rel="stylesheet" type="text/css" href="css/color.css">

图像将是:

<img src="images/logo.png" alt="logo">

不同之处在于基本标记可用于设置相对URL的参考点。请记住,基本标记会影响您网页上的所有相对网址。

答案 1 :(得分:1)

您需要在HTML的<head>部分下方添加此行:

<base href="/personalBusiness/" />

以便从该基本网址/personalBusiness/解析每个相对网址,而不是从当前网页的网址解析。