重定向到子文件夹时链接断开
Broken links when redirect to subfolder
我有一个结构如下的项目
-public_html
-- Mysite
--- Mysite files
以下url是用户请求的示例
www.mydomain.com/mysite/category.php?id=15
我更改了 .htaccess 使 URLs 更友好,.htaccess 内容是
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /mysite/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^category/([0-9]+) category.php?id= [L,QSA]
</IfModule>
一切都很好,除了当用户输入新的 URL 这样的
www.mydomain.com/mysite/category/15
站点已加载,但 css 和 js 文件 url 损坏,页面中的每个 url 都写成以下内容。
www.mydomain.com/mysite/category/****.php
请注意,每个 url 都有不需要的标记,即 类别
我该如何解决这个问题?
问候
这两个问题都是因为您使用了相关链接。
您可以将此添加到您页面 HTML 的 <head>
部分:
<base href="/mysite/" />
这样每个 亲戚 URL 都是从那个基础 URL /mysite/
解析的,而不是从当前页面的 URL .
更新:修改规则:
选项 +FollowSymLinks
重写引擎开启
RewriteBase /mysite/
RewriteRule ^.+?/(index_files/.+)$ [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= [L,QSA]
我有一个结构如下的项目
-public_html
-- Mysite
--- Mysite files
以下url是用户请求的示例
www.mydomain.com/mysite/category.php?id=15
我更改了 .htaccess 使 URLs 更友好,.htaccess 内容是
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
RewriteBase /mysite/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^category/([0-9]+) category.php?id= [L,QSA]
</IfModule>
一切都很好,除了当用户输入新的 URL 这样的
www.mydomain.com/mysite/category/15
站点已加载,但 css 和 js 文件 url 损坏,页面中的每个 url 都写成以下内容。
www.mydomain.com/mysite/category/****.php
请注意,每个 url 都有不需要的标记,即 类别
我该如何解决这个问题? 问候
这两个问题都是因为您使用了相关链接。
您可以将此添加到您页面 HTML 的 <head>
部分:
<base href="/mysite/" />
这样每个 亲戚 URL 都是从那个基础 URL /mysite/
解析的,而不是从当前页面的 URL .
更新:修改规则:
选项 +FollowSymLinks 重写引擎开启 RewriteBase /mysite/
RewriteRule ^.+?/(index_files/.+)$ [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= [L,QSA]