1

这就是我需要的。我有网址pearlsquirrel.com/profilecomments.php?u=eggo。eggo 是我的用户名和动态 url 中发生变化的部分。我想使用 .htaccess 将 URL 改写为 Pearlsquirrel.com/eggo/comments。

这是我到目前为止所拥有的:

RewriteRule ^(.*)$ $1.php
RewriteRule ^([a-zA-Z0-9_-]+)$ profilecomments.php?u=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ profilecomments.php?u=$1
RewriteCond %{HTTP_HOST} ^www\.pearlsquirrel\.com$ [NC]
RewriteRule ^(.*)$ http://pearlsquirrel.com/$1/comments [L,R=301]

但我就是无法让它工作。任何帮助将不胜感激。谢谢!

4

2 回答 2

1
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/comments$ profilecomments.php?u=$1 [L]

笔记

如果您为图像、样式表等使用了相对路径,则需要将它们更改为绝对路径或使用服务器根文件夹作为基础的相对路径,以使您的站点正确显示。

例如,它会认为images/image.png/eggo/comments/images/image.png

但是,如果您改为添加前面的斜杠,/images/image.png 您的文件路径将始终从服务器根文件夹开始,并且当您重写 URL 时,您的站点不会混乱。

于 2012-07-21T16:27:12.310 回答
0

您的第一条规则覆盖了所有其他规则。您所描述的内容(如果我理解正确的话),您需要通过 profilecomments.php?u=user 处理 /user/comments

RewriteRule ^([a-zA-Z0-9_-]+)/comments profilecomments.php?u=$1 [L]

这应该这样做。

于 2012-07-21T16:35:21.287 回答