.htaccess 文件不适用于我的项目
Posted
技术标签:
【中文标题】.htaccess 文件不适用于我的项目【英文标题】:.htaccess file not working on my project 【发布时间】:2015-12-07 23:23:47 【问题描述】:我是 php 新手,我正在尝试为我的网站创建一个 .htaccess 文件。 我已经按照这个链接: mod_rewrite-windows-apache-url-rewriting 更改了我的 C:\xampp\apache\conf\ httpd.conf 文件
这是我的 .htaccess 文件并保存在 test 文件夹下。
RewriteEngine On
RewriteRule localhost/admin/^([a-zA-Z0-9]+)$ localhost/test/application/admin/add_department.php?action=edit&page=$1
RewriteRule localhost/admin/^([a-zA-Z0-9]+)/$ localhost/test/application/admin/add_department.php?action=edit&page=$1
这是我的原始网址: localhost/test/application/admin/add_department.php?action=edit&department_id=11
我希望它变成: localhost/admin/add_department/11
但它不起作用,网址栏仍然显示我的原始网址。 有需要的请告诉我,谢谢~~
【问题讨论】:
【参考方案1】:您无法使用RewriteRule
匹配localhost
。
您还应该将 .htaccess 放在test/
文件夹上方,即您的网站根目录。
你有这样的规则吗:
RewriteEngine On
RewriteBase /
RewriteRule ^(admin)/([\w-]+)/([\w-]+)/?$ test/application/$1/$2.php?action=edit&page=$3 [L,QSA,NC]
还要注意使用/?$
作为可选的斜杠。这将消除对 2 条规则的需要。
这将让您在浏览器中使用localhost/admin/add_department/11
URL。
【讨论】:
嗨,这是我的文件目录:htdocs/test/。我把我的 .htaccess 放在 htdocs 下。但是当我在浏览器中使用localhost/admin/add_department/11
URL 时,页面显示找不到对象!我错过了什么吗?
是的,http://localhost/test/application/admin/add_department.php?action=edit&department_id=11
URL 工作正常,我已将我的 C:\xampp\htdocs\.htaccess 文件更新为 RewriteEngine On RewriteBase / RewriteRule ^(admin)/([a-z0-9]+)/([a-z0-9]+)/?$ test/application/$1/$2.php?action=edit&department_id=$3 [L,QSA,NC]
嗨,我遇到了一个问题,即当 url bar 为 http://localhost/admin/add_department/11
时,我单击了菜单栏下的一个按钮,该按钮将指向 general_setting。 php 但 url 将是 http://localhost/admin/add_department/general_setting
并且它不起作用,我知道我何时使用此方法 ../general_setting 会工作。但问题是 我的菜单栏 包含其他按钮,如果我全部使用 ../,当 url 为 http://localhost/admin/general_setting
然后我点击另一个按钮将变为http://localhost/dashboard
以上是关于.htaccess 文件不适用于我的项目的主要内容,如果未能解决你的问题,请参考以下文章
利用浏览器缓存 |修改.htaccess 文件| - 不适用于 javascript 文件
Laravel 路由和 .htaccess 文件不适用于 1and1 托管
.htaccess 适用于 Apache 服务器,但不适用于 FTP 目录