得到漂亮的网址

时间:2014-10-22 18:19:52

标签: apache .htaccess mod-rewrite

当用户访问'网站时,我希望用户重定向到' website.com/user-profile.php?user_username = abc' 的.com / ABC'

但是,我希望在不破坏页面中可能存在的CSS,JS和其他图像的情况下实现此

我尝试了以下代码,但打破了CSS,JS和所有图片

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{DOCUMENT_ROOT}/$1 -f
RewriteRule ^[^/]+/([^.]+\.(?:js|css|jpe?g|png|gif))$ /$1 [L,R=301,NC]
RewriteEngine On
RewriteRule ^profile/([^/]+)?$ user-profile.php?user_username=$1 [NC,QSA,L]

有关如何在不破坏图像,JS和CSS的情况下实现上述目标的任何帮助?

2 个答案:

答案 0 :(得分:1)

试试像.htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^profile/([a-z]+)?$ user-profile.php?user_username=$1 [NC,L]

答案 1 :(得分:0)

您的css,js和图片链接可能都已损坏,因为它们是相对网址,并且当浏览器的位置栏更改时,您的网址已更改:

http://website.com/(something)

为:

http://website.com/profile/(something)

因此,您需要将所有链接更改为绝对网址(以/开头)或将网址添加到网页标题中:

<base href="/" />