使用.htaccess的SEO友好动态php URL不起作用

时间:2018-02-04 18:31:53

标签: php apache .htaccess mod-rewrite

我在使用.htaccess文件创建SEO友好URL时遇到问题。所以我有这个当前的网址:www.mywebsite.com/user.php?u=username我希望创建这样的内容:www.mywebsite.com/user/username。我尝试过几种方法,但都没有成功。 (在apache服务器中激活mod_rewrite)

当前代码:

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

我还想在网址中留出空格或%20符号。总而言之,我怎么能解决它?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:1)

使用

www.mywebsite.com/user/username

代表RewriteRule ^user/([^/]+)/?$ user.php?u=$1 [L]

如果您想允许带有特殊字符的字母和数字,可以使用

[a-zA-Z0-9_-]

我建议手动允许XSS Attacks内的特殊字符阻止来自$_GET Request的{​​{1}}