将所有内容重定向到index.php,而不更改url
为了得到这份工作,我快发疯了。我计划对我的整个网站进行一次相当复杂的重新设计。由于我的网站应该根据您尝试访问的子文件夹(例如www.mydomain.com/test123)的不同而工作,因此我认为最简单的解决方案是将每个请求重定向到main index.php,并从那里处理所有情况。我还想重定向图像和css文件等,因为我会处理这些案件“手动”太多 下面是它应该做的:将所有内容重定向到index.php,而不更改url,php,.htaccess,mod-rewrite,redirect,Php,.htaccess,Mod Rewrite,Redirect,为了得到这份工作,我快发疯了。我计划对我的整个网站进行一次相当复杂的重新设计。由于我的网站应该根据您尝试访问的子文件夹(例如www.mydomain.com/test123)的不同而工作,因此我认为最简单的解决方案是将每个请求重定向到main index.php,并从那里处理所有情况。我还想重定向图像和css文件等,因为我会处理这些案件“手动”太多 下面是它应该做的: 它应该将每个请求重定向到根文件夹中的index.php 它应该将第一个斜杠之后的所有内容作为查询参数传递。(mydomain.c
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule ^(.*)$ /index.php?q=$1 [P]
非常感谢您的帮助 您可以在php中使用include()函数
前
此规则适用于站点根目录。htaccess:
DirectorySlash Off
DirectoryIndex index.php
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index\.php$ [NC]
RewriteRule ^(.+)$ /index.php?q=$1 [L,QSA]
无需使用用于代理的
p
标志,该标志要求在Apache配置中启用mod_proxy
。谢谢,但它仍然显示/test?q=test,而应该只显示/test,但仍然向/index.php?q=testIs/test
实际目录发送请求?如果不清除浏览器缓存,请在禁用缓存的Chrome dev工具中进行测试。是的,这是一个真实的目录,但只需使用更新的代码重试,即可正常工作!谢谢!不完全是我想要的
DirectorySlash Off
DirectoryIndex index.php
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/index\.php$ [NC]
RewriteRule ^(.+)$ /index.php?q=$1 [L,QSA]