我目前正在尝试达到以下目的:
pageurl/profile/username
代替
pageurl/profile/?username=username
我如何以正确的方式做到这一点?我已经搜索了很长时间,找到了一种正确的方法,但是当我试图以自己想使用的方式来编辑它时,对我来说只有什么没有用。
谢谢!
假设用户名是用户名,而不是字符串“ username”-我已经删除了该pageurl
部分,因为它看起来像样板。
RewriteEngine On
RewriteRule ^profile/([^/]+)/?$ /profile/?username=$1 [L]
这用于文档根目录下的.htaccess文件中(而不是子文件夹中)-例如,如果要将其添加到<VirtualHost>
httpd-vhosts.conf中,则规则略有不同。
由于您实际上有一个名为的目录/profile
,因此您可能会遇到/profile
重定向到/profile
重定向到/profile
无限广告的终端循环。
为了避免这种情况,您不需要文件,也不需要目录条件:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^profile/([^/]+)/?$ /profile/?username=$1 [L]
这样可以防止将URL/profile/index.php
重定向到,/profiles/?username=index.php
因为请求必须既不是文件也不是目录。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句