我想让我的.htaccess文件重写index.php文件中不存在的任何内容。例如:www.example.com/category/subcategory/product1/
将被重写为index.php?request=category/subcategory/product1
我想先检查目录是否存在,如果存在,请不要重写。我现在有类似的东西,但只需要知道如何将请求的URL放入PHP $_GET
变量中:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /index.php [L]
高级感谢您的帮助!
答案 0 :(得分:3)
你快到了:
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?request=$1 [L,QSA]
TBH,没有必要将请求的网址放入$_GET
变量 - 您可以始终通过$_SERVER['REQUEST_URI']
访问原始(请求的)网址 - 唯一的区别是REQUEST_URI
将始终以前导斜杠开头(例如/category/subcategory/product1
)。