重定向到子文件夹时断开链接

时间:2015-07-06 10:23:43

标签: php .htaccess mod-rewrite friendly-url

我有一个具有以下结构的项目

.limit()

以下网址是用户请求的示例

-public_html
-- Mysite
--- Mysite files

我更改了.htaccess以使网址更友好,.htaccess内容为

www.mydomain.com/mysite/category.php?id=15

除了用户输入像这样的新网址

之外,一切都很顺利
 <IfModule mod_rewrite.c>
     Options +FollowSymLinks
     RewriteEngine on
     RewriteBase /mysite/
     RewriteCond %{REQUEST_FILENAME} !-d
     RewriteRule ^category/([0-9]+) category.php?id=$1 [L,QSA] 
 </IfModule>

网站已加载,但css和js文件网址已损坏,页面中的每个网址都写为以下内容。

www.mydomain.com/mysite/category/15

请注意,每个网址都有不需要的令牌,即类别

我该如何解决这个问题? 此致

1 个答案:

答案 0 :(得分:2)

这两个问题都是由于您使用了相对链接。

您可以在页面的HTML的<head>部分添加:

<base href="/mysite/" />

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

更新:修改后的规则:

     选项+ FollowSymLinks      RewriteEngine on      RewriteBase / mysite /

 RewriteRule ^.+?/(index_files/.+)$ $1 [L,NC,R=301]

 RewriteCond %{THE_REQUEST} /mysite/[^/]+/([^./]+\.php) [NC]
 RewriteRule ^ %1 [L,R=301]

 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^category/([0-9]+) category.php?id=$1 [L,QSA]