在本地主机上重写URL?ApachePHP
我在本地机器上的Xampp上使用Apache mod_rewrite,但代码似乎不起作用 请看下面的代码并帮助我。我是这方面的初学者在本地主机上重写URL?ApachePHP,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我在本地机器上的Xampp上使用Apache mod_rewrite,但代码似乎不起作用 请看下面的代码并帮助我。我是这方面的初学者 RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^m3/([a-zA-Z0-9-]+)$/?profile=com_frontpage&
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^m3/([a-zA-Z0-9-]+)$/?profile=com_frontpage&url=$1 [L,QSA]
我想要的是下面的URL:
http://localhost/m3/?profile=com_frontpage&url=nero
http://localhost/m3/?profile=com_frontpage&url=nero
改写为
http://localhost/m3/nero
http://localhost/m3/nero
请帮我做到这一点
塔克斯
谢谢你的快速回复
我已经实现了修改后的代码,但一旦我尝试输入新的URL,我就会收到404错误
我在Windows操作系统上使用Xampp,因此将文件重命名为.htaccess被拒绝,我不确定使用“htaccess.txt”是否有效
可能是什么问题
Thanx更改您的
重写库
RewriteEngine on
RewriteBase /m3/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z0-9-]+)$ index.php?profile=com_frontpage&url=$1 [L,QSA]
编辑:固定语法。如果您的
.htaccess
文件位于站点根目录中(在htdocs
文件夹中),则需要此选项:
此外,您还需要将文件另存为.htaccess
。只需从您正在使用的任何编辑器中选择“另存为…”,并将文件另存为.htaccess
。你唯一不能做这件事的地方是在Windows资源管理器中,但那只是资源管理器的愚蠢;您完全可以从程序(甚至记事本)中使用正确的名称保存文件
或者,如果您愿意,可以从命令行执行:
cd C:\path\to\xampp\htdocs\
rename htaccess.txt .htaccess
确保在Apache的httpd.conf文件的文档根目录中设置了此选项:
AllowOverride All
我已经更改了我的代码,但仍然收到404错误,这可能是问题所在。我编辑了上面的示例,因为我意识到您的
重写规则中没有空格,这意味着模式不匹配。现在试试上面的。Thanx因为我不知道间距问题你在哪里使用这个规则?顺便说一下,RewriteRule
指令的模式和替换必须至少用一个空格或制表符隔开。
AllowOverride All