我想为我的一个项目制作一个友好的URL。目前我的网址为http://example.com/profile.php?user=someprofile
,我想将其设为http://example.com/someprofile
。我尝试了下面的htaccess,但我的CSS和图像文件没有加载。
RewriteEngine on
RewriteCond $1 !^(profile\.php|assets|editor|css|js|scripts|images|img|media|xml|user_guide|robots\.txt|favicon\.ico)
RewriteRule ^g/([^/\.]+)/?$ profile.php?user=$1 [L]
<Files profile>
ForceType application/x-httpd-php
</Files>
我如何实现这一目标?
答案 0 :(得分:0)
这听起来像是相对/绝对网址的问题。由于您在网址的开头添加了/g/
,因此更改了相对URI基础,因此您的所有相关链接都将被破坏。您需要更改绝对链接的链接或将相对URI基础添加到页面标题:
<base href="/" />
答案 1 :(得分:0)
将你的.htaccess视为:
RewriteEngine on
# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ profile.php?user=$1 [L,QSA]
css / js / images路径问题:
最好在css,js,images文件中使用绝对路径而不是相对路径。这意味着您必须确保这些文件的路径以http://
或斜杠/
开头。
您可以尝试在页面的HTML <head>
的{{1}}部分添加此内容,以便从该网址解析每个相对网址,而不是当前网页的网址