我正在尝试使用.htaccess创建友好的网址。我已经检查过,如果我在我的.htaccess上放了一个deny,它就不会加载证明.htaccess正在工作的网页。
我还验证了使用phpinfo在php上加载了mod-rewrite模块 问题是,当我访问网址http://128.199.62.16/web/grupo/asd/123时,它说找不到,当我尝试使用http://128.199.62.16/web/grupo/index.php?id=asd&description=123时,它会按预期工作
您可以在这里找到我的.htaccess文件内容
RewriteEngine on
RewriteRule ^web/grupo/([^/]*)/([^/]*)/$ web/grupo/index.php?id=$1&descripcion=$2
Options -Indexes
ServerSignature Off
你能帮帮我吗:D
答案 0 :(得分:0)
您的输入网址没有尾部斜杠,但您的规则需要一个
我建议在尾部斜杠后面添加一个问号,表示它是可选的
另外,我建议使用+
代替*
来表示"一个或多个"而不是"零或更多"。
RewriteRule ^web/grupo/([^/]+)/([^/]+)/?$ web/grupo/index.php?id=$1&descripcion=$2
有关进一步参考,请参阅:
trailing slash optional
答案 1 :(得分:0)
如果此文件不存在,请创建一个新文件/var/www/html/web/grupo/.htaccess
:
RewriteEngine on
RewriteBase /web/grupo/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/?$ index.php?id=$1&descripcion=$2 [L,QSA]