.htaccess htaccess清理配置文件链接

.htaccess htaccess清理配置文件链接,.htaccess,url-rewriting,.htaccess,Url Rewriting,目前,我正在使用以下HTACCESS代码 RewriteEngine On # Lose the www RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L] # Clean profile URLs RewriteRule ^([a-zA-Z0-9_-]+)(/?)$ profile.php?user=$1 因此,当我去看个人资料时,链接确实起作用。但我仍然可以使用 我想

目前,我正在使用以下HTACCESS代码

RewriteEngine On

# Lose the www
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L]

# Clean profile URLs
RewriteRule ^([a-zA-Z0-9_-]+)(/?)$ profile.php?user=$1
因此,当我去看个人资料时,链接确实起作用。但我仍然可以使用

我想要的是,第二个正在被定向到的简短版本的

另一个问题是,当我浏览到时,它会将url重写为

另外,对于某些文件夹(如“我的图像”文件夹),如何避免这种情况?如果我转到images文件夹,我会得到


另外,如果在干净的url后面有一个斜线,则页面会表现出奇怪的行为。

如果该站点还没有上线,我不会担心/profile.php?user=username url。因为人们必须知道有一个php文件名profile.php。如果您从未在html中直接创建任何指向profile.php的链接,那么没有人会知道

如果网站已经上线,请告知我们

至于图像问题

RewriteCond $1 !^images/
RewriteRule ^([a-zA-Z0-9_-]+)(/?)$ profile.php?user=$1
也可以创建css和/或js文件夹

RewriteCond $1 !^(images|css|js)/
RewriteRule ^([a-zA-Z0-9_-]+)(/?)$ profile.php?user=$1

尾斜杠的最后一个问题很可能与html中相对URL的使用有关。尝试将
href=“path/resource.ext”
替换为
href=“/path/resource.ext”
。与
src=“…”
等相同。

您需要在更改url规则上添加最后一个操作。我将代码更改为以下内容:

# Lose the www
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,NC,L]

# Exclude existing files from redirect
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L]

# Clean profile URLs
RewriteRule ^([^/]*)\/$ http://businessgame.be/$1 [R=301]
RewriteRule ^([^/]*)(/?)$ profile.php?user=$1

这似乎很有效。

下次删除您的问题。我不喜欢浪费时间:-)