RewriteEngine On
# Hide .php file extension in the urls
RewriteRule ^([^/.]+)$ $1.php
RewriteRule ^content/([A-Za-z0-9-]+)/?$ content?id=$1 [NC,L]
如果有人可以帮助我找出我做错了什么以及如何解决这个问题,我将非常感激。
谢谢, 德克斯特尔。
根据您展示的示例,请尝试按照以下操作一次。请在测试您的网址之前清除浏览器缓存。
RewriteEngine On
# Hide .php file extension in the urls
RewriteRule ^([^/.]+)$ $1.php [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^content/([A-Za-z0-9-]+)/?$ content.php?id=$1 [NC,L]
您可能需要使用基本标签来修复您的js和其他相关资源。如果您使用相对路径链接 js 文件,那么该文件显然会得到 404,因为它正在寻找 URL 路径。例如,如果 URL 路径是 /file/ 而不是 file.html,那么您的相关资源将从 /file/ 加载,它不是目录,而是重写的 html 文件。要解决此问题,请使链接绝对或使用基本标签。在网页的标题中添加此
<base href="/">
,以便您的相关链接可以从正确的位置加载。
我也想在我的网站上做,我正在尝试为 .htaccess 制定规则,我想保护我的 .php 文件免受人们访问,但我正在使用需要访问权限才能工作的联系表单,所以我想仅禁用人类访问这可能吗?