【问题标题】:Htaccess rewrite url (Shorten url)Htaccess 重写 url(缩短 url)
【发布时间】:2013-01-14 02:36:33
【问题描述】:

所以我有网址:myurl.com/projects/url/visit.php?link=fbehe,我想这样重写它:

myurl.com/u/fbehe

但它不起作用。到目前为止我正在使用它:

RewriteEngine On
RewriteRule ^/u/([^/]*)$ visit.php?link=$1 [L]

我还想指出,我将 htaccess 文件与我的 visit.php 文件放在了目录中。所以 myurl.com/projects/url/.htaccess

我怎样才能做到这一点?

【问题讨论】:

  • 这个 URL 中的变量字符串有哪些:myurl.com/u/fbehefbehelink 的值,但是u 呢?
  • 你只是一个假目录。如果不能这样做 myurl.com/fbehe 就足够了。

标签: .htaccess


【解决方案1】:

你可以试试这个:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI}  ^/u/([^/]+)/?$    [NC]
RewriteRule .*       projects/url/visit.php?link=%1 [L]

静默地图

http://myurl.com/u/anyvalue 带或不带斜杠

http://myurl.com/projects/url/visit.php?link=anyvalue

【讨论】:

  • 有什么办法让它只能通过 myurl.com/u/anyvalue 工作,我真的不希望它与除此之外的任何东西一起工作。
  • @Duncan 更新了我的答案。
  • 它可以工作,但我仍然可以做其他文件夹,例如 myurl.com/burger/fbehe。我只希望它通过 myurl.com/u/fbehe 工作。那可能吗?感谢您到目前为止的帮助:)
  • 是的,我希望它只能通过访问 myurl.com/u/linkname 来工作
【解决方案2】:

也尝试使用 NC。另外,不确定绝对路径是否有效。如果 .htaccess 在您网站的根目录中,请尝试使用亲戚。

RewriteRule ^/u/([^/]*)$ visit.php?link=$1 [L,NC]

【讨论】:

    【解决方案3】:

    你使用这个框架吗?也许你能有像路线这样的功能。可以重写你的网址..

    像Codeigniter,蛋糕

    他们有路线来改变这样的网址。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-15
      • 2012-11-08
      • 1970-01-01
      • 2021-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多