mod_rewrite在子目录中工作,而不在基本目录中

时间:2014-12-09 18:26:10

标签: php html apache .htaccess mod-rewrite

重写规则是:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_\-.]+)/?$ storefront.php?id_user=$1 [L]

当放置在子目录即http://example.com/subdirectory/时,它可以将网址从http://example.com/subdirectory/user重定向到http://example.com/subdirectory/storefront.php?id_user=user

当放在基本目录中时:http://example.com/它无法将网址http://example.com/user重定向到http://example.com/storefront.php?id_user=user

我做错了什么?

1 个答案:

答案 0 :(得分:0)

好吧,我通过使用这个重写规则获得我想要的效果,如果感觉是一个黑客,而不是它应该是的方式。然后再一次......除非有人在正在发生的事情上启发我,否则它会继续下去。

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9_\-.]+)/?$ http://example.com/subdirectory/storefront.php?=id_user=$1 [L]

基本上我把它改写成了正在运行的目录。但最终这不是我想要的,因为我想将子目录迁移到基础目录,这个问题阻止了这一点。