.htaccess RewriteRule应该屏蔽URL,但改为重定向

时间:2019-03-25 18:38:15

标签: apache .htaccess mod-rewrite

我正在制作一些对Google友好的“漂亮URL”的硬编码列表,以将其重写为实际的混乱URL。我们希望杂乱的URL保持被屏蔽-因此我们不希望301重定向。

漂亮的URL均采用 domain.com/buy/item-name 的形式,而目标URL则是域根目录中的所有页面(带有参数的PHP)。

我们失败的测试用例:

domain.com/buy/test 应该屏蔽 domain.com/content.php?do=123

由于/ buy从来都不是真实目录,因此我创建了该目录,并在其中使用了以下.htaccess文件。(这允许将当前的.htaccess工作与根.htaccess分开保存,并且是我们以后可以在其他目录中使用的模型。)

因此,我们要做的就是检测“测试”(以及/ buy中的其他短语)并将其屏蔽到根目录/content.php?do=123。

/ buy目录的整个.htaccess文件为:

RewriteEngine On

RewriteRule ^test/?$ /content.php?do=123 [L]

该测试RewriteRule可以很好地连接到目标,但是不屏蔽。浏览器显示不需要的混乱URL。

为什么?我唯一的想法是:托管公司的默认.htaccess是否在根级别存在某些强制所有RewriteRules重定向的内容?如果可能的话,我应该在那里找什么?

感谢任何潜在客户!

0 个答案:

没有答案