在.htaccess中使用Mod Rewrite获得"美化"网址正常工作

时间:2017-12-05 10:12:10

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

我有一个网站,其中有几个页面是通过从数据库中提取数据生成的,查看这些页面的链接看起来像这样。

www.mywebsite.com/article.php?id=01&title=title

我试图设置一个mod重写来让服务器显示相同的网页,但使用更好看的网址。

www.mywebsite.com/article/01/title

我在.htaccess文件中使用的代码行是

RewriteRule ^article/([0-9]+)/([A-Za-z0-9-\+]+)/?$ /article.php?id=$1&title=$2 [NC,L,QSA]

现在当我回到我的网站并输入以下网址时 www.mywebsite.com/article/01/title

它显示正确的内容但页面上根本没有附加样式?

我的完整.htaccess如下

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##
# Needed before any rewriting
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /([^/]+/)*(default|index)\.   (html|php|htm)\ HTTP/ [NC]
RewriteRule ^(([^/]+/)*)(default|main|index)\.(html|php|htm)$ http://www.example.com/$1 [R=301]
RewriteRule ^article/([0-9]+)/([A-Za-z0-9-\+]+)/?$ /article.php?id=$1&title=$2 [NC,L,QSA]

有人可以告诉我我做错了什么吗? 非常感谢

1 个答案:

答案 0 :(得分:1)

这意味着你可能已经附加了你的css文件,其相对路径不是以&#34; /&#34;开头,更改此

int len = 10; //specify your length here

List<String> list = Stream.of(s.split(" ")).filter(str->len > str.length()).collect(Collectors.toList());

我认为您的重写规则存在问题,您现在只需要管理网址中的虚拟目录。