我已经尝试了一段时间,只是无法开始工作:
RewriteRule ^([^])/([^])\.php$ /$1.php [L,QSA]
我有一个网站:www.mysite.com/dummyfolder/file.php
我希望它实际加载:
www.mysite.com/file.php
仅供参考 - dummyfolder 是动态的,因此会发生变化。
更复杂的部分是我希望能够在某些文件夹上忽略它,例如能够访问:www.mysite.com/acutalfolder/file.php。acutalfolder 存在且不更改其名称的位置。
非常感谢 - 它真的让我陷入困境,无法弄清楚。
Ansari,感谢您的回答和解决,但是我需要更正我的实际文件夹声明:
我的实际文件夹位于此处:
www.mysite.com/acutalfolder/file.php
但我想像这样出现在 URL 中:
www.mysite.com/dummyfolder/acutalfolder/file.php
如果我使用它(如果我使用的是实际文件夹,请尝试忽略):
RewriteRule ^([^/]+)(!^actualfolder$)/([^/]+)\.php$ /$2.php [L,QSA]
转到实际文件夹地址可以正常工作,但是原始的重写页面不再起作用。有什么想法我打错了吗?
更新在安萨里的帮助下。现在可以很好地使用以下代码:
RewriteCond %{REQUEST_URI} ^/([^/]+)/(actualfolder/.*\.php)$
RewriteCond %{DOCUMENT_ROOT}/%2 -f
RewriteRule .* %2 [L,QSA]
RewriteCond %{REQUEST_URI} ^/(?!actualfolder)([^/]+)/(.*\.php)$
RewriteCond %{DOCUMENT_ROOT}/%2 -f
RewriteRule .* %2 [L,QSA]
非常感谢...