【问题标题】:How to get rid of backslashes at the back of a url?如何摆脱网址后面的反斜杠?
【发布时间】:2011-04-19 08:29:21
【问题描述】:

好吧,实际上我不确定 url 中的最后一个字符串是文件还是目录... 例如 facebook.com/skaloot。 skaloot 是文件(facebook.com/skaloot.php)还是目录? (facebook.com/skaloot/index.php)以及如何摆脱“.php”或“/”...

谢谢...

【问题讨论】:

  • \ → “反斜杠”,/ → “斜杠”。此外,您要查找的术语是“漂亮的 URL”。
  • 也不一定。
  • 如果 facebook 使用 modrewrite(我认为他们这样做),skaloot 可能只是传递给他们服务器上一个完全不同的文件的字符串。即它也可能是 facebook.com/handler.php?q=skaloot 或 facebook.com/another.php?s=skaloot .....这里的组合是无穷无尽的,没有办法找出
  • /skaloot 是 URL 的路径段。换句话说,既不是文件也不是目录,只是一个字符串。
  • 感谢大家的回复...好吧,让我们说 skaloot 是一个文件...我如何摆脱“.php”...

标签: php url redirect url-rewriting


【解决方案1】:

解析网址

$url = 'http://www.example.com/example.php';
$url = substr($url, 0, strrpos($url, '.'));
var_dump($url);
// output is: string(30) "http://www.example.com/example"

网址重写

在您的 .htaccess 文件中,您可以使用 mod_rewrite 将漂亮的 URL 重写到其实际目的地。

例如:

RewriteEngine On
RewriteBase /
# If the URL does not already exist as a file
RewriteCond %{REQUEST_FILENAME} !-f
# or directory
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^example$ /example.php [QSA,L,NC]

以上内容会将点击 http://www.example.com/example 的流量引导至您的 example.php 脚本。

显然将 example.com 替换为您的域。

子域选项

另一种选择是为每个用户提供一个子域。例如 simon.sklaloot.com。我之前回答过一个与此有关的问题:Create subdomains on the fly with .htaccess (PHP)

【讨论】:

    猜你喜欢
    • 2022-01-09
    • 1970-01-01
    • 2015-10-08
    • 1970-01-01
    • 2020-08-18
    • 1970-01-01
    • 2021-05-20
    • 2013-07-03
    • 1970-01-01
    相关资源
    最近更新 更多