htaccess:如何将url hello / ola / ciao / register.php转换为u / u / u / page.php?

时间:2016-08-31 10:16:45

标签: .htaccess

我已经阅读了关于此主题的一些帖子和apache文档。

我想将网址hello/ola/ciao/page.php转换为u/u/u/page.php以隐藏网站逻辑。

如果我写:

RewriteRule ^hello/ola/ciao/(.*)$  u/u/u/$1  [R]

RewriteRule ^hello/ola/ciao/(.*)$  u/u/u/$1  [P]

它返回消息:

The requested URL /u/u/u/page.php was not found on this server

我的HTTPD.CONF是:

<Directory "C:/workspace">
     Options Indexes FollowSymLinks
     AllowOverride All
     Require all granted
</Directory>

因此,我不希望重定向到u/u/u/page.php,因为服务器上不存在u/u/u/个文件夹。

我只想将网址转换为u/u/u/page.php,让它更好。

  • 有可能获得这个结果吗?
  • 是否可以在不重定向的情况下重写网址?
  • 我必须使用.htaccess,RewriteRule P标志,ProxyPassReverse或PHP脚本吗?
  • 必须启用哪些apache模块?
  • 需要将.htaccess放在哪个文件夹中?在根文件夹或 子文件夹呢?
  • 它也可以在主机网站空间或本地主机上运行吗?

1 个答案:

答案 0 :(得分:0)

在根目录中尝试此规则

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^u/u/u/(.*).php$ hello/ola/ciao/$1.php [L]
相关问题