.htaccess 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 因此,当我去看个人资料时,链接确实起作用。但我仍然可以使用 我想
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
这似乎很有效。下次删除您的问题。我不喜欢浪费时间:-)