0

我想将 URL 屏蔽http://example.com/index.php?path=controller/functionhttp://example.com/controller/function. function不需要在场。

如何使用 htaccess 文件执行此操作?

以下不起作用。

RewriteRule ^/?assets/(.*)$ assets/$1 [L] # directory for CSS, images, and JavaScript
RewriteRule ^$ /index [redirect]
RewriteRule ^([a-zA-Z]+)/?([a-zA-Z/]*)$ index.php?path=$1/$2 [L]

目前,如果我http://example.com/controller/function在浏览器中输入,我会收到 404 错误,但输入http://example.com/index.php?path=controller/function有效。

谢谢!

4

1 回答 1

6

你可以试试这个:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !index\.php [NC]
RewriteRule ^([^/]+)(.*)?$ index.php?path=$1$2   [L]

它在内部映射

http://example.com/var1/var2

到:

http://example.com/index.php?path=var1/var2

保留传入的尾部斜杠行为并且var2是可选的。

于 2013-01-23T05:05:18.287 回答