【问题标题】:.htaccess rewrite url to hide a file name.htaccess 重写 url 以隐藏文件名
【发布时间】:2016-02-28 00:56:13
【问题描述】:

我在 localhost 上运行一个项目,我的站点地址是 http://localhost/test/a.php/b。 我希望这个 url 对用户来说看起来像 http://localhost/test/b

a.php 是一个 php 文件,b 是它的值。

以下是我的htaccess 文件设置:

Options +FollowSymLinks
RewriteEngine On
RewriteRule \.(css|js|png|jpg|gif)$ - [L]
RewriteRule ^(index\.php|robots\.txt)$ - [L]

RewriteCond %{REQUEST_URI} !(.*)a.php 
RewriteRule ^(.*)$ a.php/$1 [L]

【问题讨论】:

  • 你的意思是尝试一周?到目前为止,您是否尝试过任何 htaccess 规则?
  • 是的很多,但没有得到答案

标签: php apache .htaccess mod-rewrite url-rewrite-module


【解决方案1】:

你可以用喜欢

RewriteEngine on
RewriteBase /

RewriteRule ^/a.php/(.+)$ /$1 [L,QSA]

【讨论】:

  • Apache 中是否启用了 mod_rewrite?
  • @g-v-s-vinayak 恰恰相反。不是吗?
【解决方案2】:

您的 htaccess 中的 RewriteBase 应设置为 /

如果人们能看到的网址是

http://localhost/test/b

重写规则如下:

RewriteRule ^(\w+)$ a.php/$1

将网址更改为

http://localhost/test/a.php/b

这样php引擎就可以处理了。

使用HTACCESS TESTER SITE 来检查重写规则的工作原理。

【讨论】:

  • @saquib :Starkeen 的答案也适用,并且已完成文件和目录检查。如果这些解决方案都不适合您,则 mod_rewrite 未启用或您的 htaccess 文件未考虑在内。
  • 我尝试了这个 htaccess 代码,它也不起作用先生。我想要打开一个 .php 文件,但从 url 中隐藏,先生,所以我的 url 将变为 localhost/test/b
  • 查看编辑。代码中有一个小错误。
  • @Starkeen:我不得不将“测试”放在测试站点中进行仔细检查。现在更正了。
  • @saquib:我认为您对 htaccess 文件的使用有些误解。如果您希望 http://localhost/test/b 被视为 url,那么应该将其作为 htaccess 文件的输入。将其更改为服务器端的其他内容进行处理(即在您的情况下为http://localhost/test/a.php/b)并不意味着人们可以看到的网址会改变。
猜你喜欢
  • 1970-01-01
  • 2016-10-03
  • 2013-12-24
  • 1970-01-01
  • 1970-01-01
  • 2015-09-12
  • 1970-01-01
  • 1970-01-01
  • 2022-01-02
相关资源
最近更新 更多