Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php URL重写小问题_Php_Apache_.htaccess_Url - Fatal编程技术网

Php URL重写小问题

Php URL重写小问题,php,apache,.htaccess,url,Php,Apache,.htaccess,Url,我试着做到以下几点: http://abc.com/site/15/mike至http://abc.com/site/profile.php?id=15 在脚本文件夹中,我放置了以下htaccess文件: Options +FollowSymLinks RewriteEngine On RewriteRule ^([0-9]+)/(.*)*$ ./profile.php?id=$1 问题是找到了文件,但在其中找不到css和其他文件。 它考虑如下路径:http://abc.co

我试着做到以下几点:

http://abc.com/site/15/mike
http://abc.com/site/profile.php?id=15

在脚本文件夹中,我放置了以下htaccess文件:

Options +FollowSymLinks  
RewriteEngine On  

RewriteRule ^([0-9]+)/(.*)*$   ./profile.php?id=$1  
问题是找到了文件,但在其中找不到css和其他文件。 它考虑如下路径:
http://abc.com/site/15/style.css

我能做什么?我尝试过很多重写规则,我不知道会有什么


其思想是,所有来自该路径的链接都是相对于该路径的。所有这些都将成为www.abc.com/site/15/onepage.php。那么我该怎么办呢?

为什么不以“/”开头编写链接,以便浏览器知道正确的路径

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

这应该排除带有。在内部,例如styles.css,它提供了帮助

Options +FollowSymLinks  
RewriteEngine On  

RewriteRule ^([0-9]+)/([^\.]+)*$   ./profile.php?id=$1  

您可以创建一个名为
css
的新文件夹,如下所示

http://example.com/site/15/css/myCssFile.css
或者像这样使用完整路径

<link href="usr/www/site/15/css/myCssFile.css" rel="stylesheet" type="text/css"/>


告诉我是否有问题

这可能会更好。为什么不将CSS的URL更改为绝对URL,如
http://abc.com/style.css
?想法是所有来自该路径的链接都是相对于该路径的。所有这些都将成为www.abc.com/site/15/onepage.php。那么我能做些什么呢?我的想法是所有来自这个路径的链接都是相对的。所有这些都将成为www.abc.com/site/15/onepage.php。那么我能做些什么呢?可能是我不理解你的问题,但上面的示例链接是一个相对路径:以“/”开头告诉浏览器,他将从站点根开始在这个URI中找到此资源。(因此,它将在mySite.com/css/myCssFile.css上查找此css文件。就像您的链接与域根保持相对。