如何用的.htaccess重写(How to rewrite with .htaccess)

2019-10-19 04:12发布

我很新为.htaccess,有一个问题..

我将如何改写

http://example.com/forums/view.php?v=Topic%20Name&a=64http://example.com/forums/view/Topic-Name/64

如上所述,我是新来的..

另外,我怎么会取代-  同时保持正常的破折号?

例如: Hi There-Bye! 然后将转换成Hi-There-Bye!

然后将转换回Hi There-Bye!php and .htaccess

Answer 1:

第一个问题是非常基本的。 您需要从“丑”(但工作)网址到搜索引擎优化的网址,并从搜索引擎优化的URL的“丑” URL内部重写一个外部重定向。 它们都可以写成如下格式:

#External redirect
RewriteCond %{THE_REQUEST} ^(GET|POST)\ /forums/view\.php\?v=([^&]+)&a=(.+)\ HTTP
RewriteRule ^ /forums/view/%1/%2 [R,L]
#Change above [R,L] to [R=301,L] after testing all rules work as expected

#Internal rewrite
RewriteRule ^forums/view/([^/]+)/([^/]+)/?$ /forums/view.php?v=$1&a=$2 [L]

第二件事情是不可能的。 有没有办法之间的破折号之间的区别HiThere之间的破折号ThereBye 。 我会说:不要打扰。 这是一个搜索引擎优化的URL。 如果你想有看中搜索引擎优化的URL,你必须改变你的数据库中包含那些花哨的搜索引擎优化的URL。



Answer 2:

重写使用以下方法。

RewriteRule ^example/(.*)\.html$ example/test.php?param=$1


Answer 3:

RewriteRule ^forums/view/([^/]*)/([^/]*)$ /forums/view.php?v=$1&a=$2 [L]


文章来源: How to rewrite with .htaccess