使用mod_rewrite的.htaccess重定向规则


1

我有一个PHP脚本,可根据查询从数据库动态生成内容。用户可能会在文本框中搜索用户名“ mark”。内容由PHP提供,位于www.domain.com/?username=mark,尽管我希望用户将提供的URL视为www.domain.com/username/mark.html。同样,用户可以按配置文件(整数)进行搜索。内容在www.domain.com/?profile=2上生成。我希望用户将提供的网址视为www.domain.com/profile/2.html。这可行吗?

这是我的.htaccess文件:

 RewriteEngine On
 RewriteRule ^username/([^/]*)\.html$ /?username=$1 [L]
 RewriteRule ^realname/([^/]*)\.html$ /?realname=$1 [L]
 RewriteRule ^profile/([^/]*)\.html$ /?profile=$1 [L]

已启用Mod_rewrite,但此文件似乎无法正常工作。

Answers:


0

您的代码应该正常工作,也许根本没有执行。您可以尝试输入错误,看看Apache是​​否给出500的响应。

除此之外,您可以尝试使用以下htaccess。添加了index.php,以确保调用了正确的文件。

RewriteEngine On
RewriteRule ^username/([^/]*)\.html$ /index.php?username=$1 [L]
RewriteRule ^realname/([^/]*)\.html$ /index.php?realname=$1 [L]
RewriteRule ^profile/([^/]*)\.html$ /index.php?profile=$1 [L]
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.