我知道这个问题可能是另一个问题的 DUPLICATE ,但毕竟我无法为我的问题找到合适的答案。
我正在尝试使用位于 localhost 的根目录中的url
重写.htaccess
该文件包含以下代码:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !home
RewriteCond %{REQUEST_FILENAME} !seller
RewriteRule ^([^/]*)/$ stores/$1 [NC,L]
RewriteRule ^([^/]*)$ stores/$1 [NC,L]
问题:
如果原始网址为http://localhost/stores/mystore
,则可以http://localhost/mystore
访问,但此新网址将其重定向到原始网址作为第一个网址做。
如何解决?
提前致谢。
答案 0 :(得分:1)
如果stores/mystore
指向某个目录,那么mod_dir
将在您的重写规则执行后添加一个尾部斜杠。
请尝试以下规则:
Options +FollowSymLinks
RewriteEngine On
# add trailing slash to directories
RewriteCond %{REQUEST_FILENAME} !(home|seller)
RewriteRule ^([^/]+)/?$ stores/$1 [L]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.+[^/]$ %{REQUEST_URI}/ [L]