如何制作网址重写例如,我希望我看起来像
www.myurl.com/study-abroad/what/ever/
如果我输入
www.myurl.com/studyabroad/what/ever/
这个想法是出国留学而不是学习
答案 0 :(得分:2)
如果您事先知道每个网址会遇到多少破折号,可以这样做:
RewriteEngine On
# Replacing a single dash, e.g. example.com/study-abroad/what/ever
RewriteCond %{REQUEST_URI} ^([^-]*)-([^-]*)$
RewriteRule ^([^-]*)-([^-]*)$ $1$2 [L]
# Replacing two dashes, e.g. example.com/study-abroad/what-ever
RewriteCond %{REQUEST_URI} ^([^-]*)-([^-]*)-([^-]*)$
RewriteRule ^([^-]*)-([^-]*)-([^-]*)$ $1$2$3 [L]
......等等。但是,我可以补充一点,这是因为设计破坏了,你应该重新考虑你的方法。
此致
答案 1 :(得分:0)
对于这样一个简单的例子,我会使用mod_alias
重定向而不是mod_rewrite
。例如:
Redirect permanent /studyabroad http://www.myurl.com/study-abroad
有关完整文档,请参阅http://httpd.apache.org/docs/2.0/mod/mod_alias.html#redirect。
您需要将此(或类似)代码段放入Apache配置文件中:如果已启用(如果您具有适当的权限),则可能是您网站目录中的.htaccess
。或者,您可以修改主Apache配置。有关Apache配置文件的信息,请参阅http://httpd.apache.org/docs/current/configuring.html。
(编辑以反转映射:添加破折号而不是删除它)