相关疑难解决方法(0)

URL重写后缺少CSS文件和图像

我正在尝试使用模式重写来创建用户友好的URL.我的问题是,在给我的URL提供"名称"等类别后,当我使用新URL调用页面时,它无法加载CSS文件或图像.

我有一个像这样的链接:

本地主机/ mywebsite /项目?ID = 22

新链接就像

本地主机/ mywebsite /项目/ 22/myproject.project

htaccess代码:

RewriteRule ^project/([0-9]*)/.*\.project$ /project.php?project=$1 [L]
Run Code Online (Sandbox Code Playgroud)

(它可能不是100%正确,但我现在无法访问我的代码所以我只是写了这个,它在原始源上工作正常)

我的根目录是localhost/mywebsite/

我的CSS文件在css/style.css中

本地主机/ mywebsite/CSS/style.css中

我的htaccess

本地主机/ mywebsite/htaccess的

我的project.php文件在

本地主机/ mywebsite/project.php

所以在项目页面中我可以使用相对路径访问CSS文件,

<link href="css/style.css" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)

但是当我使用重写的URL页面时找不到CSS文件.

我不能使用域名的绝对路径,因为我还没有域名!它可以是任何东西.

一种方法是使用类似问题localhost/mywebsite/project.php建议使用域的相对路径,当我运行我的脚本localy时,我的根目录是localhost所以css链接应该看起来像

HREF = "mywebsite/CSS/style.css中"

但是当我上线时,我应该将所有链接更改为类似的内容

HREF = "/ CSS/style.css中"

这似乎很多工作

css php url mod-rewrite url-rewriting

12
推荐指数
1
解决办法
1万
查看次数

网址重写打破了与CSS的链接

我正在使用以下设置进行网址重写:

RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
Run Code Online (Sandbox Code Playgroud)

index.php解析中,$_GET['url']以便在以下示例中:

ROOT/user/id/1/name/bobby // user is the page, id = 1, name = bobby
ROOT/blog/post/123/title/welcome // blog is the page, post = 123, title = welcome
Run Code Online (Sandbox Code Playgroud)

因此,第一个参数(?我不知道如何调用它)是页面名称,那么以下几个参数就像"键/值".现在,当我浏览ROOT/到插入页面html内部的样式表的链接时,页面显示正确.我正在浏览ROOT/index(它是相同的ROOT/)它正确显示页面(包含内容和其他东西),但未加载样式表的链接(即使在html结构中正确编写).我可以看到,当我加载它时,我的页面根本没有css.

我怎样才能解决这个问题?

编辑

css文件的路径如下:

project/view/css/common.css
Run Code Online (Sandbox Code Playgroud)

它包含的文件位于

project/public/index.php // the one with .htaccess and rewrite rules
Run Code Online (Sandbox Code Playgroud)

这让我想做一个链接(在index.php里面)

../view/css/common.css
Run Code Online (Sandbox Code Playgroud)

但这取决于网址的显示方式.举些例子:

# For URL = public/
project/view/css/common.css // good
# For URL = public/index/
project/public/view/css/common.css …
Run Code Online (Sandbox Code Playgroud)

html css php .htaccess url-rewriting

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

css ×2

php ×2

url-rewriting ×2

.htaccess ×1

html ×1

mod-rewrite ×1

url ×1