Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
所以就像修改过的URL一样_Url_Mod Rewrite_Url Rewriting - Fatal编程技术网

所以就像修改过的URL一样

所以就像修改过的URL一样,url,mod-rewrite,url-rewriting,Url,Mod Rewrite,Url Rewriting,我想得到一个与SO的问题URL完全相同的URL方案 像http://stackoverflow.com/questions/6035363/so-like-url-with-mod-rewrite 可使用http://stackoverflow.com/questions/6035363 但随后它重定向到http://stackoverflow.com/questions/6035363/so-like-url-with-mod-rewrite 我也需要这样做。 我的页面将位于名为article

我想得到一个与SO的问题URL完全相同的URL方案

http://stackoverflow.com/questions/6035363/so-like-url-with-mod-rewrite

可使用
http://stackoverflow.com/questions/6035363
但随后它重定向到
http://stackoverflow.com/questions/6035363/so-like-url-with-mod-rewrite

我也需要这样做。
我的页面将位于名为article.php的根目录中
url将类似于

article.php?id=1&title=some_text  
我希望通过[任何一个都可以]访问它

acticle.php/id/1/some_text  

[很抱歉,我真的不知道mod_rewrite的事,所以我读了一些问题,用谷歌搜索了一些备忘单,但没有一个有效:(

因此,寻找一些复制粘贴解决方案]

最好是对URL进行分而治之的反向工程

因此,有几个关键点:

  • 6035363
    是URL的重要部分,因为它是问题ID
  • 其他一切都是随意的搜索引擎优化,友好的网址
  • 同一页面有多个URL会损害SEO,所以请坚持使用一种URL格式
  • 话虽如此,
    article/id/some\u keyword\u text
    是我建议的格式。下面的重写规则将处理它

    RewriteEngine On
    RewriteBase /
    RewriteRule ^article/(\d+)/?$ test/article.php?id=$1 [L]
    RewriteRule ^article/(\d+)/([\w-]+)/?$ test/article.php?id=$1&title=$2 [L]
    
    第一条规则使用可选的尾随斜杠重定向
    article/id
    。第二条规则使用可选的尾随斜杠重定向
    article/id/some\u keyword\u text
    some\u keyword\u text
    只能包含字母数字、下划线或短划线字符


    注意:对格式为
    文章/id
    的URL的重定向发生在页面级别。因此这不是重写规则,而是页面中的逻辑,当
    标题未设置时重定向。我猜301重定向是为了确保第3点。

    最好分割并征服URL以对其进行反向工程

    因此,有几个关键点:

  • 6035363
    是URL的重要部分,因为它是问题ID
  • 其他一切都是随意的搜索引擎优化,友好的网址
  • 同一页面有多个URL会损害SEO,所以请坚持使用一种URL格式
  • 话虽如此,
    article/id/some\u keyword\u text
    是我建议的格式。下面的重写规则将处理它

    RewriteEngine On
    RewriteBase /
    RewriteRule ^article/(\d+)/?$ test/article.php?id=$1 [L]
    RewriteRule ^article/(\d+)/([\w-]+)/?$ test/article.php?id=$1&title=$2 [L]
    
    第一条规则使用可选的尾随斜杠重定向
    article/id
    。第二条规则使用可选的尾随斜杠重定向
    article/id/some\u keyword\u text
    some\u keyword\u text
    只能包含字母数字、下划线或短划线字符


    注意:
    article/id
    格式URL的重定向发生在页面级别。因此这不是重写规则,而是页面中未设置
    title
    时重定向的逻辑。我猜是301重定向以确保第3点。

    它重定向到root/article.php:(我不知道这是什么意思。请详细说明。我将article.php作为root/test/article.php,当我尝试浏览它时,它会重定向到root/article.phpSo
    article.php
    位于webroot(
    root
    )下的
    test
    目录中)?我修改了我的答案,重定向到
    test/article.php
    。它重定向到root/article.php:(我不知道这是什么意思。请详细说明。我将article.php作为root/test/article.php,当我尝试浏览它时,它重定向到root/article.phpSo
    article.php
    位于webroot下的
    test
    目录中(
    root
    )?我修改了答案,将其重定向到
    test/article.php
    RewriteEngine On
    RewriteBase /
    RewriteRule ^article/(\d+)/?$ test/article.php?id=$1 [L]
    RewriteRule ^article/(\d+)/([\w-]+)/?$ test/article.php?id=$1&title=$2 [L]