我只想快速进行htaccess重定向。即:
domain.com/subfolderGreen - > domain.com/index.php?folder=subfolderGreen
(请注意,子文件夹绿色实际存在)
我一直在尝试,但无法达到所需的正则表达式。
感谢。 一个。
增加:
抱歉,我希望这适用于任何子文件夹,而不仅仅是“subfolderGreen” 我正在使用
RewriteRule ^ /([^ /] +)/?$ /index.php?folder=$1 [L]
但它不起作用。 任何线索?
答案 0 :(得分:2)
我认为你的例子会导致无限循环,因为/index.php匹配你正在做的事情。试试这个:
RewriteRule ^([A-Za-z0-9]+)/?$ /index.php?folder=$1 [L]
如果您希望它适用于所有存在的目录,这可能也会起作用。
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.+)/?$ /index.php?folder=$1 [L]
答案 1 :(得分:1)
RewriteRule ([^/]+)$ index.php?folder=$1
我认为这样做会有所帮助。
在.htaccess中使用时,RewriteRule有一些令人困惑的问题,需要添加RewriteBase。
您看到了哪些错误/问题?如果你想确定它是如何重定向的,那么添加[R]通常可以帮助调试。
最后......子文件夹Green是否确实存在?如果它存在可能会导致一些问题。
答案 2 :(得分:0)
我相信它是:
RedirectMatch 301 domain.com/(.*) domain.com/index.php?folder=$1
答案 3 :(得分:-1)
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]+\ /(([^/\ ]+/)*)/+([^\ ]*)
RewriteRule ^ /%1%3 [L,R=301]
RewriteRule ^([^/]+)/?$ index.php?folder=$1 [L]
如果有人访问website.com/mypage/////,第2行将处理此案例,因此默认为website.com/mypage/(我认为)