繁体   English   中英

如何通过htaccess重写网址

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM