我想使用mod_rewrite制作漂亮的URL,但是只有一个版本的.htaccess文件可以用于服务器上的任何用户。
到目前为止,我有标准的漂亮网址.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]
理想情况下,我想要类似的东西
RewriteRule ^(.*)$ %{URL of this file's directory}/index.php/$1 [L]
这份文件会让我相信我想要的不是必要的:
注意:每个目录上下文中的模式匹配 永远不要忘记Pattern应用于每服务器配置文件中的完整URL。但是,在每个目录的配置文件中,每个目录前缀(对于特定目录始终相同)会自动删除以进行模式匹配,并在替换完成后自动添加。此功能对于许多种重写都是必不可少的 - 如果不这样,您将始终必须匹配父目录,这并非总是可行。
但是,我仍然得到错误的结果,无论我是否在RewriteRule上放置了index.php的前导/前面。
这个,
变成
HTTP://server/index.php/stream
不
HTTP://server/test/index.php/stream
当.htaccess文件在/ test /中时。