[英]How to rewrite an url via htaccess
我正在尝试通过.htaccess重写以下URL:
http://website.com/dealer_home.php?id=dealer1
我想要的结果是这样的,其中dealer1
是设置为变量的用户名:
http://website.com/dealer1
我已经在.htaccess中尝试过此规则:
RewriteEngine On
RewriteRule ^([^/]*)$ /dealer_home.php?id=$1 [L]
但是,当尝试加载任何网站页面时,我收到“内部服务器错误”消息。
您可以在我做错事情的地方提供一些建议吗?
编辑:我也尝试了RewriteRule ^(.*)$ dealer_home.php?id=$1 [PT]
但没有成功。
谢谢!
可能与现有文件/文件夹和root uri冲突。
试试这个代码
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ /dealer_home.php?id=$1 [L]
如果something
文件不是现有文件或文件夹,则此规则将匹配每个URL(例如domain.com/something
。
因此,如果您有其他规则,则应将其置于此规则之上。
编辑:避免重复的内容并将旧格式重定向到新的url格式
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/dealer_home\.php\?id=([^&\s]+)\s [NC]
RewriteRule ^ /%1? [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)$ /dealer_home.php?id=$1 [L]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.