我正在为我的网站开发干净的网址,我注意到您在互联网上找到的内容几乎都是将您的干净网址重写为您的服务器可以使用的网址。所以像这样:
www.domain.com/profile/username --> www.domain.com/profile.php?u=username
RewriteEngine On
RewriteRule ^profile/(.*)$ /profile.php?u=$1 [L]
所以现在我应该在我的网站内链接到 cleanurl。但直观上来说,链接到“脏”网址感觉更可靠/更好。因此,在这种情况下,您应该对上述内容使用重写规则,并使用重定向规则将“脏 url”重新定义为干净的 url,这样用户始终只能在浏览器中看到干净的 url。
www.domain.com/profile.php?u=username --> www.domain.com/profile/username
这是一件好事吗?是通过网站完成的吗?反对/支持它的论据是什么?
以及如何进行这样的重定向。像下面这样的东西似乎不起作用:
RewriteRule ^profile\.php?u=(.*)$ /profile/$1 [R=301, L]
我对 .htaccess 相当陌生,所以我可能会要求一些显而易见的东西......
RewriteRule ^profile\.php?u=(.*)$ /profile/$1 [R=301, L]
不会起作用,因为你无法匹配来自 a 的查询字符串RewriteRule
(您的标志中也有一个杂散空间)。您还希望匹配实际请求而不是 URI,因为您只会导致其他规则的重定向循环。
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /profile\.php\?u=([^&\ ]+)
RewriteRule ^/?profile\.php$ /profile/%1 [R=301,L]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)